Настройка бэкапа данных "1С:Бухгалтерии"
Автор: Илья Рарыкин
Опубликовано: 04 октября 2006 года
Источник: "Компьютерра"
Недавно у меня, как, наверное, и у многих других системных администраторов, возникла необходимость ежедневного сохранения копии данных "1С:Бухгалтерии" на другой жесткий диск с глубиной давности в семь дней. Что это значит? А то, что на архивном носителе должны храниться резервные копии базы за последнюю неделю на случай выхода из строя основного жесткого диска, а также для защиты от деструктивных действий пользователей, как то: некорректное изменение конфигурации, внесение правок, ведущих к краху системы или же удаление данных.
Задача ясна, другой вопрос - с какой стороны подойти к ее реализации на практике?
Естественно, нет сомнений, что программ, написанных для решения подобных задач, существует несметное количество. И действительно, после поисков в Сети было обнаружено достаточное количество приложений, которые призваны выполнять функцию резервного архивирования данных, но ни одна из программ не удовлетворила мои потребности полностью, да и тратить время на дальнейшие раскопки интернета и тестирования найденных продуктов показалось довольно глупо. Большинство утилит, как и следовало ожидать, оказались однобоки: у одних талантов хватает только на создание дубликатов данных, другие же вроде и делают свою работу, но не обучены удалять устаревшие резервные копии, что, в конечном итоге, грозило привести к переполнению архивного носителя. Опять же, существенный минус еще в том, что далеко не все программы корректно работают в режиме сервиса, а бесплатных продуктов с подобным функционалом и того меньше.
Но ведь задача, в сущности, предельно проста. Достаточно лишь немного вспомнить команды старой доброй DOS. Рискну предложить, что читателям "Компьютерры-Онлайн" понравится способ резервирования данных без использования сторонних программ, помимо операционной системы Windows 2000/XP и архиватора Winrar (полагаю, он есть почти у всех). Для реализации задачи прибегнем к помощи стандартного планировщика задач Windows, командных инструкций, изложенных в виде пакетного BAT-файла и консольной утилиты rar.exe, входящей в комплект поставки Winrar. Вот и весь небогатый инструментарий, необходимый для работы.
Описание тестовой конфигурации и написанного под нее листинга BAT-файла
Компьютер под управлением ОС Windows 2000. Два жестких диска. Первый логически разбит на два раздела: C (системный) и D (сетевой диск с данными). Для хранения резервных файлов используется второй физический жесткий диск F. На диске D есть общая папка Obmen в которой находится папка 1C basez, в которой лежат базы "1С:Бухгалтерии". На диске D также есть директория backup для временного хранения созданной архивной копии. Диск F содержит лишь одну папку - 1Cbackup.
Ниже рассмотрим по пунктам листинг BAT-файла. Отмечу лишь, что файл rar.exe (консольный архиватор) и сам backup.bat должны находиться в папке D:\Obmen\1C basez\. Именно из нее backup.bat должен запускаться посредством стандартного планировщика задач (меню "Пуск -> Настройка -> Панель управления -> Назначенные задания) в нужное время.
Листинг BAT-файла:
D:
cd D:\Obmen\1C basez\
rar.exe a -o+ -r D:\backup\backup.rar *.*
copy D:\backup\backup.rar F:\1Cbackup\
del D:\backup\backup.rar
F:
cd F:\1Cbackup\
del /q backup7.rar
ren backup6.rar backup7.rar
ren backup5.rar backup6.rar
ren backup4.rar backup5.rar
ren backup3.rar backup4.rar
ren backup2.rar backup3.rar
ren backup1.rar backup2.rar
ren backup.rar backup1.rar
А теперь просто по строкам распишем, что делает приведенный мною BAT-файл.
- Переход на диск D
- Переход в папку D:\Obmen\1C basez\
- Создание архива backup.rar со всем содержимым папки D:\Obmen\1C basez\ и помещение его в D:\backup\
- Копирование backup.rar из D:\backup\ в F:\1Cbackup\
- Удаление ненужного backup.rar из D:\backup\
- Переход на диск F:
- Переход в папку F:\1Cbackup\
- Удаление файла backup7.rar
- Переименование backup6.rar в backup7.rar
- Переименование backup5.rar в backup6.rar
- Переименование backup4.rar в backup5.rar
- Переименование backup3.rar в backup4.rar
- Переименование backup2.rar в backup3.rar
- Переименование backup1.rar в backup2.rar
- Переименование backup.rar в backup1.rar
Привожу еще один, упрощенный вариант в случае использования для резервирования одного жесткого диска.
Расположение директорий таково:
- C:\1c_shared\1CBASE\ - папка в которой лежат все базы
- C:\backup\ - папка для создания промежуточного файла
- C:\Archive\ - папка с конечными архивными копиями за семь дней
В данном случае файлы rar.exe и backup.bat должны находиться в папке C:\1c_shared\1CBASE\
Свойства задачи в планировщике задач Windows
Листинг BAT-файла:
C:
cd C:\1c_shared\1CBASE\
rar.exe a -o+ -r C:\backup\backup.rar *.*
copy C:\backup\backup.rar C:\Archive\
del C:\backup\backup.rar
cd C:\Archive\
del /q backup7.rar
ren backup6.rar backup7.rar
ren backup5.rar backup6.rar
ren backup4.rar backup5.rar
ren backup3.rar backup4.rar
ren backup2.rar backup3.rar
ren backup1.rar backup2.rar
ren backup.rar backup1.rar
Начало работы bat-файла
Стоит отметить, что применительно к 1С это подходит лишь для DBF-версии (не SQL). Способ также не годится для "горячего" архивирования (когда с файлами работает пользователь), поэтому уместнее на файл-сервере планировщик ставить на 23 или 24 часа (подразумевается, что сервер включен постоянно).