Переписал скрипт для бекапа баз MySQL.
Подумалось мне, что не верно каждую базу в конфиг вписывать, а нужно бекапить все сразу, не особо задумываясь.
Итого получилось такое:
MySQL DB Backup умеет сохранять резервные копии баз данных; позволяет управлять резервированием баз данных из одного места, что гораздо удобнее, чем ручное копирование; проводить ротацию файлов копий, ограничив количество этих копий; создавать резервные копии на удаленном сервере.
[ … СКАЧАТЬ … ]
[ … ИНСТРУКЦИЯ ПО УСТАНОВКЕ … ]
1. Настройте параметры конфигурации в файле mysqldbbackup.ini.
Раздел Options. В нем находятся настройки
хранения, ротации, доступа к базе данных. Для примера:
[Options]
removedays = *
nob = 10
arch = gzip
copt = c
dbhost = localhost
dbuser = root
dbpass = Mega$uperPa$sword
isslave = 1
bpath = /root/MySQLDBBackup/archives
– removedays отвечает за настройку дня недели, в которые будет проводиться удаление
старых файлов резервных копий. Дни недели указываются через запятую (0 – воскресенье). Можно
указать “*”, что означает каждый день. НЕ ИСПОЛЬЗУЕТСЯ В ЭТОЙ ВЕРСИИ.;
– nob (number of backups) отвечает за количество хранимых бекапов;
– arch – архиватор;
– copt – параметры архиватора;
– dbhost – адрес хоста MySQL сервера;
– dbuser – имя суперпользователя (обычно root);
– dbpass – пароль для указанного пользователя;
– isslave – определяет останавливать репликацию на сервере или нет перед бекапом;
– bpath – путь для бекапов.
2. Установите права запуска на скрипт 700, владельца и группу root.
3. Внесите в crontab запуск скрипта по расписанию:
0 1 * * * root php /path/to/mysqldbbackup.php
5. Все. Скрипт находится в рабочем состоянии.
[ … TO DO … ]
1. Персональные настройки для каждой базы.
[ … HISTORY … ]
ver. 2.0b1
+ бекап всех баз сервера;
+ остановка репликации на подчиненном сервере;
+ доп. параметры конфига;
+ добавлены параметры архиватора;
* Временно не работает дни бекапа баз;
ver. 1.0
+ Создан конфиг в виде стандартного ini-файла;
+ Добавлена проверка наличия замыкающего слеша;
* Переписана схема ротации;
* Увеличена информативность выводимого отчета.
[ … REGARDS … ]
1. Спасибо за помощь в отлове багов Lice (TSRh Team).
Прошу комментировать и вносить предложения. 🙂
Лицензия – GPLv3.