Резервное копирование и восстановление в Windows
Для выполнения регулярного резервного копирования программы воспользуемся бесплатной программой 7-zip.
Установка тривиальна, поэтому нет необходимости подробного описания данного
процесса. Далее предполагается, что программа-архиватор установлена в каталог
C:\Program Files\7-Zip\
.
Bat-скрипт для резервного копирования
Создадим командный файл backup.bat
для остановки, запуска служб apache и
postgresql, а также архивации каталога с программой.
@echo off
@echo off
set source="C:\sc"
set destination="C:\backups"
set DB_PATH=%source%\postgresql
set dd=%DATE:~0,2%
set mm=%DATE:~3,2%
set yyyy=%DATE:~6,4%
set curdate=%dd%-%mm%-%yyyy%
set backup_file="%destination%\backup_%curdate%.zip"
net stop djangostackApache
net stop djangoWaitress
%DB_PATH%\bin\pg_ctl.exe stop --pgdata=%DB_PATH%\data
"C:\Program Files\7-Zip\7z.exe" a -tzip -ssw -mx5 -r0 %backup_file% %source%
net start djangostackPostgreSQL
net start djangostackApache
net start djangoWaitress
Переменная source
определяет каталог источник для бэкапа.
Переменная destination
определяет каталог места назначения zip-архивов с
бэкапом.
Настройка бэкапа по расписанию
Автоматический запуск скрипта будем производить в программе Планировщик заданий. Планировщик заданий находится: Панель управления Windows -> Администрирование -> Планировщик заданий.
Создаем новую задачу, указываем имя и выбираем пользователя SYSTEM
от имени
которого будут запускаться задачи.
Переходим на вкладку триггеры – создаем новый триггер с расписанием.
Переходим на вкладку Действия и создаем новое действие "Запуск программы",
указав путь к backup.bat
.
Жмем ОК – все бэкап программы по расписанию настроен.
Восстановление программы из резервной копии
Останавливаем службы выполнив в командной строке с правами Администратора.
net stop djangostackApache
net stop djangoWaitress
set DB_PATH=c:\severcart\postgresql
%DB_PATH%\bin\pg_ctl.exe stop --pgdata=%DB_PATH%\data
Далее полностью заменяем каталог C:\sc\
из самого свежего файла
резервной копии.
Запускаем службы, выполнив
net start djangostackPostgreSQL
net start djangostackApache
net start djangoWaitress