Автоматизация резервного копирования — это фундаментальная задача любого системного администратора, отвечающего за работоспособность информационных систем 1С. Часто для этих целей используют пакетные файлы (.bat), которые запускают Конфигуратор 1С с ключами выгрузки. Однако стандартный вывод логов часто не содержит информации о времени выполнения задачи, что затрудняет диагностику. Рассмотрим по шагам, как настроить ваш скрипт так, чтобы в журнале всегда отображались текущие дата и время.
Для записи данных в текстовый файл из командной строки Windows мы используем операторы перенаправления > и >>. Очень важно понимать разницу между ними:
> создает новый файл или полностью перезаписывает существующий. Если вы будете использовать его для каждой выгрузки, вы будете видеть только последнее выполненное действие.>> дописывает информацию в конец указанного файла. Именно этот инструмент нам необходим для создания «единого» лога, в котором накапливается история всех выгрузок.Для того чтобы в логе появилась отметка времени, нам необходимо добавить команду echo перед основной командой запуска 1С. Рассмотрим готовый пример кода, который вы можете интегрировать в свой скрипт:
@echo off
:: Указываем путь к лог-файлу
set LOG_FILE=L:\Backup\1C\Zup1\Result_Log.log
:: Добавляем разделитель и текущую дату/время в лог
echo =========================================== >> %LOG_FILE%
echo Дата запуска: %DATE% %TIME% >> %LOG_FILE%
echo =========================================== >> %LOG_FILE%
:: Запускаем процесс выгрузки 1С
"C:\Program Files (x86)\1cv8\common\1cestart.exe" DESIGNER /S "SRV1\Zup1" /N "backup" /P "backup" /DisableStartupMessages /DumpIB "L:\Backup\1C\Zup1\Zup1.dt" /OUT "%LOG_FILE%" -NoTruncate
При настройке логирования обратите внимание на следующие моменты:
-NoTruncate: Этот параметр, передаваемый платформе 1С, критически важен. Он сообщает программе, что при выполнении операции выгрузки не нужно очищать содержимое лог-файла, который был указан через /OUT. Если его пропустить, 1С может стереть всю историю, которую вы записали через echo.%DATE% и %TIME% зависят от региональных настроек операционной системы. Если формат даты в Windows изменен (например, на американский), скрипт может работать некорректно. Мы рекомендуем проверять корректность вывода, просто запустив скрипт в консоли один раз.Важно помнить, что использование команды /DumpIB создает файл .dt. Это логическая выгрузка информационной базы. Несмотря на удобство использования в скриптах, данный метод имеет ограничения:
.dt не гарантирует консистентность данных на уровне SQL-транзакций так же эффективно, как создание полного образа базы (.bak).Для критически важных систем мы рекомендуем использовать штатные средства SQL Server для создания бэкапов, а .dt файлы использовать только как вспомогательный инструмент или для переноса базы между серверами.
Соблюдая предложенную структуру, вы получите аккуратный и информативный лог-файл, в котором каждая запись будет четко маркирована временем выполнения. Это позволит вам оперативно отслеживать состояние ваших задач по резервированию данных.