Резервирование базы - Rar-архивирование и создание вторичной копии
Скрипт создает rar-архив, закрытый паролем, а также - копирует базу на второй сервер.
Делается проверка и восстановление базы.
Есть (закоментирована) возможность заливки на FTP и выключения-перезагрузки копьютеров.
Именно RAR и никакой другой: Поддрежка файлов больше 2Гб, большАя степень сжатия чем zip, мощнейшая защита паролем и т.п..
Второй сервер исспольльзуется теми, кому закрыт доступ в оперативную базу на основном сервере. Это, например, различные менеджеры и торговые представители.
Единственное ограничение, с которым им приходиться сталкиваться, но оно не столь критично именно для них - в базе нет документов за сегодняшний день (так как копия делается ночью).
Скрипты со всеми нужными файла лежат в архиве
Созданный bat-файл запускается через "Назначенные задания". Для того что-бы у Вас н утро было что почитать, все пишется в log-файл. Для его создания просто перенаправляем вывод всех сообщений с экрана в нужный нам файл с помощью ператора >. Это показано на рисунке.
Пояснения к главным моментам:
Вывод даты и времени
date /t
time /t
Установка основных переменных (для удобства последющего их исспользования)
set base_name=NewConfig - Имя каталога, где база лежит... кхм.. хранится, лежать ей не нужно
set base_path=d:\1C_Bases\ - каталог БД
set backup_path=d:\___APPSERVER\ - каталог для хранения копий, можно и в сеть бросать
set second_path=\\Office-02\1c_Base\ - каталог для вторичной базы
На всякий случай удаляем и снова создаем пустой каталог.
Именно сюда база вначале копируется, а потом архивируется
rmdir %backup_path%tmp_backup_tnx /s /q
mkdir %backup_path%tmp_backup_tnx\%base_name%
Этот блок добавлен недавно, он для 7.7. Для 8-ки наверное по-другому будет
del /q %base_path%%base_name\*.cdx - убиваем все индексы. Добавлено пару дней тому назад.
"C:\Program Files\1Cv77\BIN\1cv7.exe" CONFIG /M /D%base_path%%base_name% /NAdmin /Pq7a4z1 /@"d:\___APPSERVER\packet\1c_nightwork.param"
А вот это запускается конфигуратор 1С под пользователем с админ. правами и делается "Восстановление базы".
Параметры восстановления лежат в файле "1c_nightwork.param" в той же папке где и сам батник.
echo Создаем копию для основного архива
База копируется в отдельную папку, а потом уже над ней производятся все действия. Файлы, указанные в файле NoCopy.lst не копируются.
xcopy %base_path%%base_name% %backup_path%tmp_backup_tnx\%base_name% /s /e /h /EXCLUDE:NoCopy.lst
date /t
time /t
echo Создаем основной архив
Параметры: (кому лень читать "rar /?")
- удаление файлов после архивации
- rr5p - 5% на восстановление
- id[c,d,p,q] Disable messages
- ieml[addr] восспользовавшись этим параметром видимо можно архив закинуть на мыло. На проверял.
- m5 ставим максимальный уровень сжатия
- можете поиграть с параметрами ер1, ер2 и ер3 - как Вам будет удобнее
ep1 Exclude base directory from names
ep2 Expand paths to full
ep3 Expand paths to full including the drive letter
- ag[format] имя архива содержит дату, по формату ддммггччмм
rar a -df -rr5p -ibck -hpq7a4z1w8s5x2e9d6c3 -m5 -ep1 -ag_ddmmyyhhmm %backup_path%tnx1c %backup_path%tmp_backup_tnx\%base_name%
date /t
time /t
echo заливаем на секондари, для отчетчиков
rmdir %second_path%%base_name% /s /q
xcopy %backup_path%tmp_backup_tnx\%base_name% %second_path%%base_name%\ /s /e /h /z /y
Можно выключить второй комп после заливки на него копии.
rem - если не знаете этой команды, тогда лучше делайте все вручную, пока не разберетесь с командами доса
rem shutdown /s /t 600 /m \\office-02 /c "Отмена выключения - Пуск-Выполнить-[cmd]-[shutdown -a]"
date /t
time /t
Когда-то пробовал заливать на ftp. Может кому-то пригодиться (как отправная точка)
rem ftp -v -i -s:ftp.txt ftpupload1.depositfiles.com
rem del /q %backup_path%tnx1c_ftp.rar
Можно и сервак потушить. просто убираем rem
rem shutdown /s /t 60 /c "Отключение для зарядки батарей"