Скрипт резервного копирования OS
Добавлено: 11 апр 2013, 14:44
Написал скрипт для архивирования OS.
Cкрипт состоит из files.exe + 7z.exe +7z.dll + pre_start.tpl.bat, и создаёт ещё 7 дополнительных файлов *.ini с переменными в папке из которой запускается.
Что умеет скрипт:
При первом запуске получает все необходимые переменные, пишет их в конфигурационные файлы в папку из которой запускается и делает бекап в корень папки OS.
Что как делается:
1) При запуске OS, скрипт получает запущенный в данный момент модуль MySQL или Maria (другие БД не умеет) и ищет в нём mysqldump.exe
2) Делает дамп всех баз (в том числе системные) по средствам mysqldump.exe в папку с доменами
3) Архивирует папки и файлы: Папка с доменами, папки "userdata\profiles", "userdata\config" и файл "userdata\pre_start.tpl.bat" в корень папки OS с имененем "YYYYMMDD%_%HHMMSS"
После первого запуска в конфигах можно изменять настройки, что и куда класть.
Для удобства использования, я скомпилил скрипт в exe, положил в "progs>backup>files" и запускается из меню OS>Программы, скрипт у себя в папке "files" создаёт все конфиги, и нигде не мусорит, сам скрипт самодостаточен и портабелен.
Установка:
1) распаковать папку Progs в корень OpenServer
2) pre_start.tpl.bat положить в OpenServer\userdata\
3) Перезапустить сервер
4) Запустить из меню OS>Программы>Backup>Files
После первого запуска отредактировать настройки при необходимости.
Настройки:
1) backup.ini
Путь до папки с бэкапами. Стираем всё что есть, пишем в первую строку нужный путь, например "D:\backup\os\" слеш в конце обязателен.
Папка должна существовать, скрипт не создаст.
2) dir_dump.ini
Куда делаем дамп MySQL, по умолчанию в корень папки с доменами (потом её архивируем)
Папка должна существовать, скрипт не создаст.
3) dir_for_backup.ini
Список директорий и файлов для архивации.
В нём есть коментарии, можно редактировать как угодно, главное правило: 1 файл или папка - 1 строка.
4)parameters.ini
Параметры MySqlDump по умолчанию: localhost, root без пароля, все базы (в том числе служебные)
Пример для стандартного пользователя mysql с паролем mysql и нескольких баз данных (-h127.0.0.1 -umysql -pmysql -B database1 database2 database3)
Остальные файлы менять бесполезно, они пересоздаются при каждом запуске сервера.
Для тех кто захочет запускать из папки отличной от progs>backup>files придётся перед первым запуском поправить "userdata\pre_start.tpl.bat" так как OS знать не знает, что у вас из какой-то папки, какой-то скрипт запускается, а без переменных от OS скрипт работать не будет.
Состав:
7z.exe и 7z.dll это файл архиватора 7zip версии 9.20 (Можно скачать с оф сайта http://www.7-zip.org/ )
Files.exe это BAT скрипт скомпиленный в EXE программой взятой от сюда (http://f2ko.de/programs.php?lang=en&pid=b2e)
Invis_Files.exe такойже скрипт, но выполняется тихо, без каких либо окон. (Удобно использовать с планировщиком)
pre_start.tpl.bat обычный батник, для получения переменных от OS.
Отсутствие бэкдоров, вирусов и прочего зоопарка гарантирую.
Скачать:
Обновлено 22.07.2013 (добавлена библиотека 7z.dll)
http://ge.tt/13LaXTm/v/0
http://yadi.sk/d/tmQY0ZYJ74BrV
Контрольные суммы:
MD5: E13F66878C9B59D60E54D3226C23137F
SHA-1: BD0FE5C834463E2C2225E447D315F402D7EA2B16
Есть вопросы, спрашивайте, отвечу по мере возможности.
P.S. Кому нужно, могу дать исходник, пишите в личку.
Cкрипт состоит из files.exe + 7z.exe +7z.dll + pre_start.tpl.bat, и создаёт ещё 7 дополнительных файлов *.ini с переменными в папке из которой запускается.
Что умеет скрипт:
При первом запуске получает все необходимые переменные, пишет их в конфигурационные файлы в папку из которой запускается и делает бекап в корень папки OS.
Что как делается:
1) При запуске OS, скрипт получает запущенный в данный момент модуль MySQL или Maria (другие БД не умеет) и ищет в нём mysqldump.exe
2) Делает дамп всех баз (в том числе системные) по средствам mysqldump.exe в папку с доменами
3) Архивирует папки и файлы: Папка с доменами, папки "userdata\profiles", "userdata\config" и файл "userdata\pre_start.tpl.bat" в корень папки OS с имененем "YYYYMMDD%_%HHMMSS"
После первого запуска в конфигах можно изменять настройки, что и куда класть.
Для удобства использования, я скомпилил скрипт в exe, положил в "progs>backup>files" и запускается из меню OS>Программы, скрипт у себя в папке "files" создаёт все конфиги, и нигде не мусорит, сам скрипт самодостаточен и портабелен.
Установка:
1) распаковать папку Progs в корень OpenServer
2) pre_start.tpl.bat положить в OpenServer\userdata\
3) Перезапустить сервер
4) Запустить из меню OS>Программы>Backup>Files
После первого запуска отредактировать настройки при необходимости.
Настройки:
1) backup.ini
Путь до папки с бэкапами. Стираем всё что есть, пишем в первую строку нужный путь, например "D:\backup\os\" слеш в конце обязателен.
Папка должна существовать, скрипт не создаст.
2) dir_dump.ini
Куда делаем дамп MySQL, по умолчанию в корень папки с доменами (потом её архивируем)
Папка должна существовать, скрипт не создаст.
3) dir_for_backup.ini
Список директорий и файлов для архивации.
В нём есть коментарии, можно редактировать как угодно, главное правило: 1 файл или папка - 1 строка.
4)parameters.ini
Параметры MySqlDump по умолчанию: localhost, root без пароля, все базы (в том числе служебные)
Пример для стандартного пользователя mysql с паролем mysql и нескольких баз данных (-h127.0.0.1 -umysql -pmysql -B database1 database2 database3)
Остальные файлы менять бесполезно, они пересоздаются при каждом запуске сервера.
Для тех кто захочет запускать из папки отличной от progs>backup>files придётся перед первым запуском поправить "userdata\pre_start.tpl.bat" так как OS знать не знает, что у вас из какой-то папки, какой-то скрипт запускается, а без переменных от OS скрипт работать не будет.
Состав:
7z.exe и 7z.dll это файл архиватора 7zip версии 9.20 (Можно скачать с оф сайта http://www.7-zip.org/ )
Files.exe это BAT скрипт скомпиленный в EXE программой взятой от сюда (http://f2ko.de/programs.php?lang=en&pid=b2e)
Invis_Files.exe такойже скрипт, но выполняется тихо, без каких либо окон. (Удобно использовать с планировщиком)
pre_start.tpl.bat обычный батник, для получения переменных от OS.
Отсутствие бэкдоров, вирусов и прочего зоопарка гарантирую.
Скачать:
Обновлено 22.07.2013 (добавлена библиотека 7z.dll)
http://ge.tt/13LaXTm/v/0
http://yadi.sk/d/tmQY0ZYJ74BrV
Контрольные суммы:
MD5: E13F66878C9B59D60E54D3226C23137F
SHA-1: BD0FE5C834463E2C2225E447D315F402D7EA2B16
Есть вопросы, спрашивайте, отвечу по мере возможности.
P.S. Кому нужно, могу дать исходник, пишите в личку.