Четверг, 04 июня 2020 13:30

Резервное копирование баз 1С в облако cloud.mail.ru средствами системы .bat-файлом

Автор
Оцените материал
(0 голосов)

Существует множество способов резервного копирования серверов и баз данных, но нигде не нашел описания автоматизации резервного копирования баз 1С в облако cloud.mail.ru

Почему cloud.mail.ru? Потому что в 2013 году были получены халявные 100Гб и грех ими не воспользоваться. Так же в данной статье я опишу несколько полезных команд windows, которые пригодятся и для других задач (например очистка файлов старше определенного срока, как убить сеансы 1С, что делать чтобы bat-файл дожидался выгрузки dt, не переходя на следующую команду, архивация dt с разбивкой на архивы не более 2Гб (mail.ru файлы большего размера не пропускает) )

Итак, для начала, например, на диске D: создаем папку backup. В ней папку SQL, в которую у нас будут складываться ежедневные backup'ы sql сервера. Настроить их можно следующим образом: https://infostart.ru/public/199760/

Затем нам нужно позаботиться чтобы на сервере был установлен архиватор, в моем примере WinRar

И настроить WebDAVCloudMailRu для подключения хранилища cloud.mail.ru в качестве сетевого диска, подробнее здесь:  https://glashkoff.com/webdav-cloudmailru/

Теперь все готово для запуска нашего .bat файла, которые последовательно выполняет операции:

1) Удаляем бэкапы базы SQL средствами сервера старше 7 дней

Forfiles -p "D:\backup\SQL" -s -m *.* -d -7 -c "cmd /c del /q @path"

2) Удаляем временные файлы, остающиеся от службы WebDAV (иначе они переполнят диск C:)

del /F/S/Q C:\Windows\ServiceProfiles\LocalService\AppData\Local\Temp\* 

3) Убиваем открытые сеансы 1С на сервере (можно перед запуском нашего bat-файла в планировщике поставить перезагрузку сервера, чтобы наверняка)

taskkill /IM 1cv8.exe /f
taskkill /IM 1cv8c.exe /f
taskkill /IM 1cv8s.exe /f

4) Выгружаем базы. В командной строке выгрузки .dt нужно указывать именно 1cv8.exe, иначе 1С вернет управление командному файлу и он пойдет дальше не дождавшись выгрузки.

командная строка выгрузки SQL базы
call "C:\Program Files\1cv8\8.3.xx.xxxx\bin\1cv8.exe" CONFIG /M /S"Server1c\ut" /N"ИмяПользователя" /P"ПарольПользователя" /Out"D:\backup\1c_ut.log"  /DumpIB"D:\backup\bak\ut.dt"

командная строка выгрузки файловой базы
call "C:\Program Files\1cv8\8.3.xx.xxxx\bin\1cv8.exe" CONFIG /M /F"C:\1С\Бухгалтерия" /N"ИмяПользователя" /P"ПарольПользователя" /Out"D:\backup\1c_buh.log"  /DumpIB"D:\backup\bak\buh.dt"

5) Архивируем выгруженные базы, с размером не более 2000000 кбайт (2Гб), иначе сервис их не пропустит

"C:\Program Files (x86)\WinRAR\rar.exe" a -o+ -dh -r -m5 -v2000000 D:\backup\bak\backup1Cut_0.rar D:\backup\bak\ut.dt
"C:\Program Files (x86)\WinRAR\rar.exe" a -o+ -dh -r -m5 -v2000000 D:\backup\bak\backup1Cbuh_0.rar D:\backup\bak\buh.dt

6) подключаем облако mail.ru как сетевой диск через службу WebDAVCloudMailRu 

net use M: /DELETE
net use M: http://127.0.0.1:801 "ПарольОблакаMailRu" /USER:ЛогинОблакаMailRu

7) Копируем архивы в облако Mail.ru

xcopy "D:\backup\bak\backup1Cbuh_0.rar" M:\ /Y
xcopy "D:\backup\bak\backup1Cut_0.*" M:\ /Y

На этом все. Готовый .bat-ник можете скачать из вложения к статье.

Прочитано 269 раз
Добавить комментарий