Резервное копирование базы данных MySQL и каталогов в Windows
Совсем недавно писал как реализовать резервное копирование в Ubuntu, теперь проделаем тоже самое с базой данных mysql и каталогами под Windows. В примере резервирование происходит с помощью бесплатного архиватора «7-zip» — установите его.
Копирование файлов
Создаём в корне диска «C://» (или другом месте) текстовый документ. Называем его «backup.bat». Открываем для редактирования и вносим следующее:
set sFolderName=%date% (%time:~0,-3%) set sFolderName="Y:\my-comp\%sFolderName::=-%" set infotecsbackup="%sFolderName%\infotecs_backup.zip" "C:\Program Files\7-Zip\7z.exe" u "%infotecsbackup%" "C:\Program Files\InfoTeCS\*"
Разберём строки:
- set sFolderName=%date% (%time:~0,-3%) — в переменную «sFolderName» записываем текущую дату и время;
- set sFolderName="Y:\my-comp\%sFolderName::=-%" — в эту же переменную добавляем полный путь для копирования, при этом концовка в виде ::=- обозначает что все двоеточия в названии конечного каталога мы заменяем на знак тире, так как Windows не поддерживает знак двоеточия в названиях файлов и каталогов;
- set infotecsbackup="%sFolderName%\infotecs_backup.zip" — создаем переменную, в которой будет содержатся путь и имя конечного файла;
- "C:\Program Files\7-Zip\7z.exe" u "%infotecsbackup%" "C:\Program Files\InfoTeCS\*" — указываем путь к архиватору с директивой «u» — добавочный тип копирования. Указываем имя архива для записи и источник.
В качестве пути назначения я выбрал сетевой диск удаленного компьютера. Так что выход из строя компьютера не помешает восстановить резервные копии. Ещё можно использовать программу «CobianBackup». Она позволяет отправлять файлы по FTP в определенное время.
Осталось запустить планировщик заданий и добавить в него выполнение файла «backup.bat» каждый день.
Копия базы данных
Если в Windows установлен mysql сервер, то можно делать копию его баз данных. Для этого добавьте в файл «backup.bat» их предыдущего примера следующие команды:
set filebackupsql="%sFolderName%\openfirebase.sql" "C:\wamp\bin\mysql\mysql5.5.20\bin\mysqldump" -uadmin -psuperpassword openfirebase > "%filebackupsql%"
Присваиваем переменной «filebackupsql» название файла, в который осуществляем сохранение базы данных. Затем прописываем путь к утилите «mysqldump». Тут же пишем логин, пароль и имя базы данных. В конце идёт переменная, содержащяя путь куда осуществить дамп.