Предлагаю Вашему вниманию бесплатное решение, подборку скриптов, с помощью которых можно организовать бэкап почтовых ящиков Exchange и важных папок файлового сервера в облачное хранилище. Для небольшой компании вполне может хватить бесплатных 50 Гбайт, которые предоставляет облако Мега (mega.nz)
Подготовим план облачного бэкапа:
1. Бэкап файлового сервера. Каждый день закидываем в облако все изменения в общих папках по проектам, т.е. новые и измененные файлы, сжатые в архив. Это сэкономит нам трафик на загрузку в облако.
2. N раз в неделю выгружаем почтовые ящики из базы Exchange, архивируем их и отправляем в облако.
Программные средства:
- CMD и PowerShell Windows
- Архиватор 7z, в том числе для работы в командной строке
- Программа синхронизации с облаком mega.nz
Для начала скачаем программу синхронизации с облаком https://mega.nz/sync , используем существующую или создадим новую регистрационную запись.
Выберем локальную папку для синхронизации с облаком, в нее будем помещать файлы архивов с бэкапом. В моих примерах это папка ‘B:\MEGAsync’.
Скрипты командной строки
Скриптами мы будем находить новые или измененные документы, сжимать файлы в архивы с указанием даты в названии архива, выгружать pst-файлы почтовых ящиков из базы Exchange.
Создадим файл ‘backup.cmd’ В расписание ставим запуск ‘cmd.exe’ с аргументами ‘/c C:\7z\backup.cmd’ ежедневно после завершения рабочего дня, но до начала следующих суток.
Вариант набора команд с поиском файлов с текущей датой, создание списка таких файлов, создание архива таких файлов в папке синхронизации с облаком:
@Echo Off set n=%DATE% forfiles /p "E:\Projects" /S /D %n% /C "cmd /c if @ISDIR==FALSE echo @path" | findstr /P /I /V "ОШИБКА ~$ .db" >> B:\MEGAsync\projects\new_file.%n%.txt C:\7z\7z.exe a -ssw -pPASSWORD B:\MEGAsync\projects\pr.%n%.7z @B:\MEGAsync\projects\new_file.%n%.txt -scsDOS -spf -mx=9 -mmt=8
Выгрузка почтовых ящиков из Exchange с примерами, например, тут:
Using the Exchange 2010 Mailbox Export features for Mass Exports to PST files
В планировщик заданий вставляем выполнение программы
C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
и аргументы
-command ". 'c:\Program Files\Microsoft\Exchange Server\V14\bin\RemoteExchange.ps1'; Connect-ExchangeServer -auto; C:\Bat\MassExport.ps1"
Быстрое архивирование выгруженных почтовых ящиков, каждый ящик в отдельный архив:
@Echo Off del "B:\MEGAsync\pst\*.7z" C:\7z\7z.exe a -r -ssw -t7z -pPASSWORD "B:\MEGAsync\pst\ivanov.7z" "\\mail\pst\ivanov.PST" -mx=9 -mmt=8 C:\7z\7z.exe a -r -ssw -t7z -pPASSWORD "B:\MEGAsync\pst\petrov.7z" "\\mail\pst\petrov.PST" -mx=9 -mmt=8 C:\7z\7z.exe a -r -ssw -t7z -pPASSWORD "B:\MEGAsync\pst\sidorov.7z" "\\mail\pst\sidorov.PST" -mx=9 -mmt=8
Все наши архивы будут автоматически отправляться в облако с помощью программы синхронизации.
Очистка корзины Мега
Все ошибки синхронизации (syncdebris) складываются в корзину. И корзину можно чистить и из программы синхронизации, и в личном кабинете на сайте mega.nz.
В настройках аккаунта Мега есть планировщик очистки корзины. К сожалению он с трудом настраивается и по факту не работает.
Вероятно, такая ситуация удобна Меге, т.к. при заполнении корзины вам сразу приходит сообщение улучшить аккаунт (а не почистить корзину).