Резервное копирование (бэкап) базы 1С, лог на почту

Для создания резервных копий нам понадобится:

  1. Архиватор 7-Zip
  2. Утилита forfiles — консольная утилита Windows для операций с файлами, которая уже присутствует в стандартной поставке в Windows7 и WS2008R2. Позволяет производить поиск по маске и\или возрасту и применять действия к найденным файлам.
  3. Утилита CmdEmail — утилита для отправки email-сообщений через командную строку.

Создаем скрипт C:\backup\scripts\backup.cmd

@echo off
:: дата в имени файлов
set t=%date:~6,4%-%date:~3,2%-%date:~0,2%
:: тут лежит утилита forfiles и CmdEmail
set f=C:\backup\scripts
:: тут лежат базы
set from=Z:\
:: сюда будем сохранять архив
set to=Y:\1C
:: шаг_1 архивируем и пишем лог
"%programfiles(x86)%\7-Zip\7z.exe" a -tzip -ssw -mx7 "%to%\1C_BUH_%t%.zip" "%from%\1C_BUH" | findstr /P /I /V "Compressing Scanning 7-Zip" >> %to%\log_%t%.txt
:: шаг_2 ищем файлы старше 7 дней и пишем их лог, ищем файлы старше 7 дней и удаляем их
"%f%\forfiles.exe" -p %to% -s -m *.* -D -7 >> %to%\log_%t%.txt | "%f%\forfiles.exe" -p %to% -s -m *.* -D -7 -c "cmd /c del /q @path"
:: шаг_3 отправляю лог на почту
"%f%\CmdEmail.exe" -f "from@mailserver.ru" -t "toadmin@mailserver.ru" -s "1c backup log %t%" -b "Log:" -a "%to%\log_%t%.txt"

Скачиваем утилиты, указанные выше. В файле конфигурации CmdEmail.exe.config задаем параметры подключения к email’у

Далее данный скрипт прописываем в планировщике заданий

UPD 30.11.2018

Для того, что бы отправлять лог на почтовый ящик через ssl smtp (порт 465), вместо утилиты CmdEmail можно использовать другую утилиту: mailsend

Тогда в скрипте выше шаг 3 будет следующим:

:: шаг_3 отправляю лог на почту
set "mailsender=%f%\mailsend1.19.exe"
set "smtpserver=mail.example.com"
set "smtpport=465"
set "smtpuser=from@mailserver.ru"
set "smtppwd=123456"
set "smtpsender=toadmin@mailserver.ru" 
set "subject=1c backup log %t%"
set "body=Log:"
"%mailsender%" -smtp "%smtpserver%" -port "%smtpport%" -ssl -auth -user "%smtpuser%" -pass "%smtppwd%" -f "%smtpuser%" -t "%smtpsender%" -name "%smtpuser%" -rt "%smtpuser%" +cc +bc -q -sub "%subject%" -M "%body%"  -attach "%to%\log_%t%.txt"

Максим Макаров
У блога появился хостинг, его любезно предоставила компания Облакотека.
Облакотека - облачные сервисы для создания и управления виртуальной ИТ-инфраструктурой.
Если вам понравился мой блог и вы хотели бы видеть на нем еще больше полезных статей, большая просьба поддержать этот ресурс. Для этого достаточно кликнуть на контекстную рекламу, расположенную на сайте.
Оцените автора
IT Draft
Добавить комментарий

Нажимая на кнопку "Отправить комментарий", я даю согласие на обработку персональных данных и принимаю политику конфиденциальности.