1cv8jobscheduler jobs dat в 1с что это
Рассмотрим случай, когда log-файл 1С «распух» и занимает значительное место на диске. Сколько? Здесь все зависит от вашей конкретной ситуации.
Например, у вас файловая 1С — когда открываете папку с логами, то можете обнаружить файл *.lgp вполне солидного размера. До нескольких Гб. Это и есть Журнал регистрации 1С:Предприятия.
Возникает закономерный вопрос: «Можно ли его уменьшить или вообще избавиться?». Да, но сначала общие моменты.
Где находятся log-файлы
- \1Cv8Log — файловый режим.
- …/srvinfo/reg_xxxx//1Cv8Log — клиент-серверный вариант.
Форматы записи журнала
Новый формат ЖР (SQLite, *.lgd) появился в платформе 1С:Предприятия, начиная с версии 8.3.5. При обновлении платформы автоматическая смена формата ЖР не применяется.
Но если вы создаёте новую информационную базу либо пересоздаёте старую с очисткой каталога 1Cv8Log, на 8.3.5 или выше, то при отсутствии 1Cv8.lgf будет создан журнал нового формата.
На большом количестве пользователей новый формат журнала может оказаться хуже старого режима работы.
Как вернуть старый режим журнала регистрации
Для серверных баз:
- Остановите службу «Агент сервера 1С:Предприятия 8.3».
- Найдите папку 1Cv8Log интересующей вас базы по GUID (…/srvinfo/reg_xxxx/).
- Сделайте резервную копию всех файлов в 1Cv8Log в другое расположение. Можно сразу очистить каталог, если журнал не нужен. После копирования — удалите содержимое 1Cv8Log.
- Создайте пустой файл 1Cv8.lgf.
- Запустите службу «Агент сервера 1С:Предприятия 8.3».
Для файловых баз:
- Завершите работу всех пользователей с базой.
- Найдите папку 1Cv8Log по адресу файловой ИБ.
- Сделайте резервную копию всех файлов в 1Cv8Log в другое расположение. После копирования — очистите содержимое 1Cv8Log.
- Создайте пустой файл 1Cv8.lgf.
- Откройте файловую ИБ.
При необходимости — повторите шаги для каждой базы.
Рекомендации
- Для снижения нагрузки полезно уменьшить детализацию логирования. По умолчанию — значение «Регистрировать ошибки, предупреждения, информацию, примечания».
Настройка журнала регистрации
- Сокращение журнала за счёт удаления устаревших событий, через команду «Сократить». Где указываете дату, до которой требуется удалить события. С возможностью записи удаляемых событий в файл.
Сократить журнал регистрации
- Включите разделение журнала по периодам, выбрав из списка «Час/День/Неделя/Месяц/Год».
- С версии 8.3.12 есть возможность интерактивно выбрать формат ЖР. В данном примере предлагается изменить на новый формат SQLite, но рекомендуем все же оставаться на старом.
Изменение формата журнала регистрации на SQLite
Преобразование из SQLite в последовательный формат ↓
Преобразование журнала регистрации в последовательный формат
Особенности нового формата SQLite
В этом режиме настройка «Разделять хранение журнала по периодам» в Конфигураторе отсутствует. Остаётся кнопка «Сократить» для обрезки части журнала и переноса обрезаемых событий в указанный файл.
Одно «но!» — после этого размер 1Cv8.lgd не уменьшается. Для очистки необходимо выполнить команду vacuum.
- Перед запуском команды обязательно сделайте резервную копию файла 1Cv8.lgd.
- Второе — он не должен быть «занят»; в файловом режиме — без активных сеансов, для клиент-серверного варианта — при остановленном Агенте 1С.
Для этих целей используется утилита sqlite3, которую можно скачать с официального сайта.
Пример команды (расположение утилиты и lgd-файла у вас могут отличаться):
Добрый день. Вопрос такой при запросе 1с через V82.COMConnector вылетает виндовс с ошибкой. База файловая - запрос к СКЛ .
Выходит ошибка "Прекращена работа программы" ивсе, в журнале никаких следов.
1. на копии обмен работает (только что скопированный файл базы). Чистил кэш - не помогло.
Что где посмотреть подскажите?
С утра.. регламентных вроде не запускали. Может пользователи чудят. Вот и хочу узнать где что глянуть. Папки чистить каждую ночь тоже конечно вариант , но на любителя.
1. Вылетает на каком-то конкретном компе или с любого компа COM падает?
2. Вариант зависшего сеанса 1С под пользователем от имени которого идет подключение по COM.
3. При закрытии COM-соединения процесс остается висеть в системе.
Тут нужно пошагово смотреть.
Зависшие могу позже посмотреть, но как вариант проверю.
Под двумя пробовали, под ними и вылетало. Как посмотреть остатки от СОМ процессов, допустим пользователя я посмотрю, но база то как бы файловая у меня зависших хвостов вроде никаких. и из РДП не выбрасывает. вылетает на устанвке соединения. Connect(СтрокаСоединения)
(7)
Логика:
При файловой базе сама база может располагаться в любом месте в сети.
Платформа же установлена на конкретном компе.
Но, т.к. упомянут РДП, подозреваю, что 1С запускается в терминальном сеансе.
Это означает, что все происходит на одном и том же компьютере, именуемом "сервер".
После ошибки процесс 1Cv8 под терминальным пользователем остается висеть?
(8) терминальная не отваливается, у меня не App, а RDP, процессов левых нет(7) .Я уже говорил .
(9) Я уже это читал прежде чем написать. С платформой все нормально должно быть. да и если бы платформа то ошибки , мне кажется валились бы со всех копий.
Единственное я захожу под ограниченными правами на РДП, и не вижу всех процессов. Второй пользователь с админскими правами будет позже, может конечно у процесса пользователь при ошибке слетает, тогда вероятно, Но опять же только вечером только проверить смогу.
В процессе работы программ, в том числе и 1С создается временный буфер для более быстрого доступа к часто используемой информации, что служит более быстрому запуску программы, повышению ее производительности. При работе 1С файлы конфигурации подгружаются на компьютер из кэша, чтобы не обращаться к хранилищу базы, к серверу, тем самым ускоряя работу.
Но иногда в работе программы может произойти какой-то сбой, программа 1С начинает работать некорректно, причем на одном компьютере программа может работать нормально, на другом — ведет себя совершенно иначе, появляются необъяснимые ошибки. Скорее всего в результате программного сбоя, кеш стал обрабатываться не правильно, что приводит к сбоям в системе. Выключение питания, сбой компьютера, ошибки программы, динамическое обновление — в результате ошибки при запуске 1С и работе с конфигураций. Решением этих проблем чаще всего является очистка кэша.
Как очистить кеш в 1С 8.3 вручную
Для этого нам надо найти, где хранятся временные файлы нашей программы 1С. Для этого зайдем в настройку информационной базы в окне запуска 1С — кнопка Настройка .
В окне настройки мы видим путь к папке, где хранятся временные файлы программы:
C:\Users\username\AppData\Roaming\1C\1cv8\tmplts.
Кэш 1С будет располагаться в папке — C:\Users\username\AppData\Roaming\1C\1cv8\ или C:\Users\User\AppData\Local\1C\1Cv8, где username — имя пользователя системы, а расположение папки 1Cv8 может немного отличаться в зависимости от версии платформы 1С.
В папке находится множество разных непонятных папок — это и есть кэш наших баз 1С и их можно удалить, предварительно завершив работу в информационных базы.
Если откроем одну из этих папок, то в ней увидим каталоги, создаваемые автоматически программой 1С — Config, ConfigSave, DBNameCache, SICache, в которых хранится множество файлов, кэширующих различные компоненты конфигурации.
Что делать, если папку AppData не видно
Папка AppData — скрытая папка. Может быть так, что вы зашли в каталог пользователя и не видите ее. Для этого нужно включить настройку, чтобы в папках отображались скрытые файлы. Зайдя в нужную папку, нажать кнопку Alt на клавиатуре (появится строка меню папки) и зайти в пункт меню Сервис — Параметры папок .
В открывшемся окне, на вкладке Вид , установим переключатель в положение Показывать скрытые файлы, папки и диски .
Очистка временных файлов (кеш) удалением базы 1С из списка
Еще один способ очистки кэша информационной базы 1С — это ее удаление из списка и подключение снова. В результате старая папка с кэш открепляется от информационной базы и при добавлении в ее список создается новая, пустая.
Для этого, в окне запуска удаляем из списка нашу ИБ — с помощью кнопки Удалить , а потом, нажав кнопку Добавить , вновь добавляем ее в список.
Этот способ не совсем правильный и его недостаток заключается в том, что старые папки с кэш не удаляются, а остаются на жестком диске. Поэтому периодически надо прибегать в первому способу очистки кэш.
Очистка с помощью ClearCache
В случае, если проблемы с кэш возникают довольно часто, то можно использовать еще один способ очистки — установка в настройке запуска программы 1С 8.3 дополнительного параметра ClearCache .
Для этого в окне запуска программы 1С выделим информационную базу и зайдем в кнопку Изменить .
На вкладке параметры запуска, в поле Дополнительные параметры запуска укажем команду /ClearCache .
После запуска программы 1С автоматически происходит очистка кэша. Но данный способ подходит только для тонкого клиента и снижает производительность системы.
- Журнал регистрации в 1С 8.3
- 1С оптимизация: что делать, если программа тормозит
- Горячие клавиши в 1С
- Тестирование и исправление базы 1С 8.3: какие галочки ставить
- Утилита chdbfl.exe для 8.3
Помогла статья?
Получите еще секретный бонус и полный доступ к справочной системе БухЭксперт8 на 14 дней бесплатно
За несколько лет сначала вынужденного, а потом и вполне занимательного администрирования 1С у меня накопился набор решений под большинство особенностей продукта. Предлагаю отложить в сторону высокие материи про кластеры и тюнинг SQL, и перетряхнуть запасы скриптов и механизмов, которые облегчают жизнь с 1С.
Будут как простые инструменты создания новых пользователей и мониторинга "все ли вышли из базы", так и более изощренные интерфейсы проверки целостности базы и ее перемещения.
Как у большинства сложных приложений, у 1С через некоторое время работы вылезают странные ошибки, и возникает порой необъяснимое поведение. Специальные люди по 1С советуют в таких случаях почистить кэш.
Если запустить 1С с параметром /ClearCache, то будут очищены только клиент-серверные запросы. Локальные метаданные останутся и их нужно удалять отдельно на уровне файлов и папок. Эти данные хранятся в профиле пользователя, в папках с длинными названиями из GUID баз данных. Если баз на сервере немного, то такой кэш нетрудно удалить руками. Но если БД исчисляется десятками, то чистке вручную вы не обрадуетесь.
В подобных ситуациях выручит скрипт на Powershell, который запускается каждый раз при выходе пользователя из системы:
И никаких связанных со старым кэшем проблем.
Для исправления испорченной файловой базы в поставку 1С входит утилита chdbfl.exe, которая просто считывает содержимое базы во временный файл. Если какие-то данные считать не может — пропускает. При этом у нее нет ключей запуска для автоматизации, и проверку приходится запускать вручную.
Вообще, правильнее запускать проверку БД конфигуратором, но этот процесс проходит значительно дольше. Если же использовать только проверку физической целостности средствами chdbfl.exe, то не забывайте делать резервную копию из-за возможной потери данных.
Для баз 8.1 Андрей Скляров создал хороший инструмент Check1CD, с двумя параметрами запуска: "исправлять найденные ошибки" и “путь к базе”.
Но в Check1CD не хватает двух вещей:
Раз есть "хотелка" и немного свободного времени, то почему бы не попробовать решить вопрос самостоятельно?
Доработать код для передачи параметров через ключи командной строки — дело техники.
С выходом 1С 8.2 возникла проблема — путь к chdbfl менялся с установкой нового релиза. Что ж, дополним скрипт:
Надо сказать, недавно был опубликован исходный код Check1CD. Да, тоже на AutoIT.
Аналогичный механизм можно применять и для автоматического запуска различных регламентных механизмов, где нужно запускать 1С и ждать завершения операции.
При различных регламентных операциях с 1С (ночное обновление конфигурации или бэкап в .dt) важно обеспечить отсутствие подключенных к ней пользователей. Можно конечно запускать 1С: Предприятие с ключом /C ЗавершитьРаботуПользователей, но это не всегда удобно, да и хочется же потом написать личное письмо с рекомендациями по устранению склероза.
Можно использовать штатную возможность подключения к 1С через COMConnector и скрипт на AutoIT. Код написан под 1С 8.1 и позволяет выкинуть пользователей из базы с записью в журнал.
Но операцию иногда нужно проворачивать по просьбе самого пользователя, который запустил "тяжелый" отчет и повесил 1С. Если не хотите решать эти вопросы самостоятельно, то просто выведите любителям “тяжелых” отчётов ярлык на скомпилированный скрипт:
Еще COMConnector помогает проверить наличие обновлений конфигурации, получить какую-то информацию из базы, и автоматизировать заведение пользователей в 1С.
На мой взгляд, создавать новых пользователей 1С должен системный администратор, а не программист 1С. Но последнему нужно сделать процесс максимально простым. Чтобы администратору не приходилось "заглядывать" в каждую базу отдельно, можно использовать еще один скрипт.
Юрлиц развелось слишком много — нужно разбивать на столбцы.
Занятно, но после смены нескольких поколений администраторов в одной компании из далекого прошлого новенькие уже не знали как создать пользователя вручную.
Если нужно перенести базу 1С: Предприятия вместе с ее данными в SQL на другой сервер, то делать это вручную целесообразно только для 1-2 БД.
Список баз для миграции можно брать и из файла, а лог выводить в текстовый файл. Аналогичным образом можно конвертировать несколько десятков баз из файловых в SQL простой выгрузкой-загрузкой в .dt
Конечно, это далеко не все, что можно автоматизировать в связке с 1С. Но разного рода обмены, получение real-time информации из 1С в других приложениях и прочие сценарии не попали в этот обзор из-за узкой направленности и специфики.
Наверняка у вас тоже есть свой набор "ноу хау" для администрирования 1С — будет здорово если поделитесь с коллегами в комментариях.
Скрипты и ноу-хау предоставлены avelor, за что ему огромное спасибо!
В сегодняшней статье я расскажу об уязвимостях сервера 1С в корпоративной сети.
Как показала практика, в инсталляциях с 1С все допускают одни и те же ошибки разной степени серьезности. Я не буду касаться очевидных вещей вроде установки обновлений, но пройдусь по специфике работы сервера приложений под Windows. Например, по возможности бесконтрольно манипулировать базами Microsoft SQL с помощью инструментов 1С.
Исторически так сложилось, что редко когда системные администраторы и программисты 1С работают как одна команда. Чаще всего специалисты по 1С не вникают в тонкости системного администрирования, а сисадмины не стремятся постичь нюансы работы 1С.
И получается инфраструктура с «детскими болячками», очевидными для специалиста по ИБ ― ниже привожу личный ТОП таких проблем.
По умолчанию платформа 1С при установке создает специальную учетную запись с ограниченными правами, под которой работают службы сервера ― USR1CV8. Все идет хорошо, до тех пор пока не становятся нужны ресурсы сети: например, для автоматических выгрузок-загрузок. Учетная запись по умолчанию не имеет доступа на сетевые папки домена, поскольку является локальной.
В своей практике я встречал множество способов решения этой задачи: папки с доступом на запись для группы «Все», сервер 1С под учетной записью с правами администратора домена, явно прописанные в коде учетные данные для подключения сетевого ресурса. Даже запуск сервера 1С под пользовательской сессией как обычное приложение.
Заходим на сервер по RDP, видим такое окно и получаем нервный тик.
Конечно, «захардкоженые» пароли и сетевые ресурсы с анонимным доступом на запись встречаются редко. В отличие от работы сервера 1С из-под обычной доменной учетной записи. Разумеется, с возможностью выполнить произвольный код «на сервере».
Как известно любому 1С-нику, но не любому системному администратору, в обработках 1С есть два режима выполнения процедур: на сервере и на клиенте. Запущенная в «серверном» режиме процедура будет выполнена под учетной записью службы сервера приложений. Со всеми ее правами.
Если сервер 1С работает с правами администратора домена, то потенциальный вредитель сможет сделать с доменом что угодно. Разумным выходом станет создание специальной учетной записи ― по мотивам USR1CV8, только уже в домене. В частности, ей стоит разрешить вход только на определенные серверы в оснастке «Пользователи и Компьютеры Active Directory».
Настройка входа только на разрешенные серверы.
Не лишним будет и разрешить вход на сервер только в качестве службы, отключив возможность локального (интерактивного) входа в систему. Сделать это можно через локальные политики безопасности непосредственно на сервере, либо с помощью доменных групповых политик.
Назначение прав пользователя в локальной политике безопасности.
Все то же самое касается и учетной записи сервера Microsoft SQL. Седых волос может прибавиться от вредных привычек:
- запускать SQL с правами администратора компьютера или даже домена для удобного резервного копирования;
- включать возможность запуска исполняемых команд через хранимую процедуру xp_cmdshell для переноса резервных копий на сетевые ресурсы через красивые планы обслуживания.
Регулярно в практике встречается подключение баз данных к серверу 1С под пользователем «SA» (суперпользователь в SQL). Вообще, это не так страшно как звучит, ведь пароль от SA захэширован в файле 1CV8Reg.lst на сервере приложений. Хэш злоумышленник получить гипотетически может ― не забываем про права учетной записи сервера ― но расшифровка окажется долгой, особенно если использовать брутфорс.
Но все же не лишним будет настроить аудит доступа к этому файлу с уведомлением ответственных лиц.
Другое дело, когда программистам 1С «делегируют» обязанности DBA. Опять же, из личного опыта: сервер SQL был в зоне ответственности программистов, как и интеграция внешнего сайта с базами 1С. Итогом был пароль SA в скриптах сайта.
Для собственного успокоения стоит поставить на SA сложный пароль или вовсе деактивировать эту учетную запись. На SQL тогда нужно включить доменную аутентификацию для управления и создать для 1С отдельное имя входа с правами на необходимые базы.
Если вы не хотите оставить возможность создавать базы SQL через интерфейс 1С, то новому пользователю хватит общей роли public и db_owner непосредственно в базе 1С.
Это можно проделать через Management Studio или простым скриптом T-SQL:
Правам пользователей в 1С почему-то мало кто уделяет внимание. А ведь пользователь с правами «Административные функции» или «Администрирование» запросто выгрузит базу в .DT через конфигуратор и унесет домой ― это подарит не одно мгновение волнительного счастья вашему руководству. Поэтому стоит поймать на рюмочку чая 1С-ника и посидеть совместно над базой, чтобы узнать, какие пользователи имеют подобные права. А заодно ― чем грозит понижение их полномочий.
Право выгрузить базу у роли Полные Права в типовой 1С: Бухгалтерии 2.0.
Следующий важный момент ― запуск внешних обработок. Как мы помним, в 1С можно запускать код с правами учетной записи сервера. Хорошо, если она не имеет административных прав на систему, но все равно стоит исключить возможность запуска подобных обработок для пользователей. И не забудьте попросить специалиста по 1С «встраивать» дополнительные отчеты и обработки в базу. Хотя не во всех обработках поддерживается встраивание ― эта возможность зависит от версии 1С.
Проверить, какие типовые роли не имеют прав на открытие внешних обработок, можно в конфигураторе.
Все эти действия не только помогут защититься от потенциального «внутреннего вредителя», но и станут дополнительной преградой на пути вирусов-шифровальщиков, маскирующихся под обработки 1С.
Если все же необходим запуск внешних обработок, то неплохим вариантом контроля и подстраховки будет аудит их запуска. Штатного механизма аудита у 1С пока нет, но в сообществе уже придумали несколько обходных маневров. Внедрять эти механизмы стоит в паре со специалистом 1С, также как и настраивать уведомления о событиях в журнале регистраций базы.
Отдельно отмечу возможность настройки доменной аутентификации пользователей вместо аутентификации 1С. И пользователям будет удобнее ― меньше паролей в их памяти снижает риск появления стикеров на мониторе.
Итак, пользователи теперь не могут запускать обработки, учетная запись сервера максимально ограничена. Но есть и еще кое-что: учетная запись администратора кластера 1С, которая не создается по умолчанию.
Ее отсутствие опасно: любой человек с ноутбуком при открытом доступе к сетевым портам сервера (по умолчанию это TCP:1540) может создать там свою базу, и ограничений на запуск обработок не будет. А еще злодей сможет получить информацию по базам данных, по работающим пользователям, изменить параметры кластера и даже принудительно завершить работу определенных пользователей.
Пример скрипта на PowerShell, изгоняющего всех пользователей изо всех баз сервера:
Использование подобного способа работы с сервером 1С в благих целях уже упоминалось в одной из предыдущих статей.
Создать администратора кластера не просто, а очень просто ― достаточно щелкнуть правой кнопкой на пункте «администраторы» в управлении кластером 1С, создать нового администратора, задав логин и пароль.
Создание администратора кластера 1С.
Я коснулся лишь части недоработок при настройке 1С: Предприятия. Для самостоятельного изучения рекомендую почитать до сих пор не потерявшие актуальность материалы:
Поделитесь в комментариях своими нестандартными решениями и курьезами при работе с системой 1С: Предприятие.
Читайте также: