Резервное копирование · 3 min read · Feb 12, 2026
Резервное копирование и восстановление MySQL с помощью mysql-zrm на Debian Sarge - Страница 3
4 Примеры резервного копирования
С помощью mysql-zrm вы можете поддерживать несколько резервных копий, называемых наборами резервного копирования, например, ежедневное резервное копирование, еженедельное резервное копирование, резервное копирование для вашей базы данных osCommerce, резервное копирование для вашей базы данных vBulletin и т. д.
Теперь давайте создадим нашу первую резервную копию, которую мы создадим в наборе резервного копирования dailyrun:
mysql-zrm-scheduler --now --backup-set dailyrun --backup-level 0Это немедленно создаст резервную копию всех баз данных в директорию /var/lib/mysql-zrm/dailyrun, и также создаст директорию /etc/mysql-zrm/dailyrun. –backup-level 0 означает: сделать полное резервное копирование (вы также можете делать инкрементные резервные копии ( –backup-level 1), но я скажу об этом позже - пока мы делаем только полные резервные копии).
Если вы включили уведомления по электронной почте, вы должны были получить электронное письмо со статусом резервного копирования. Но вы также можете сгенерировать отчет о статусе резервного копирования в командной строке вот так:
mysql-zrm-reporter --where backup-set=dailyrun --show backup-status-infoВывод будет выглядеть так:
| backup_set backup_date backup_level backup_status comment ---------------------------------------------------------------------------------------------------------------------- dailyrun Tue 26 Sep 2006 07:57:47 PM CEST 0 Резервное копирование успешно завершено ---- |
Вы также можете сгенерировать несколько других отчетов с помощью следующих команд:
mysql-zrm-reporter --where backup-set=dailyrun --show backup-method-info
mysql-zrm-reporter --where backup-set=dailyrun --show backup-retention-info
mysql-zrm-reporter --where backup-set=dailyrun --show backup-performance-info
mysql-zrm-reporter --where backup-set=dailyrun --show restore-full-info
mysql-zrm-reporter --where backup-set=dailyrun --show restore-incr-info
mysql-zrm-reporter --where backup-set=dailyrun --show replication-infoПопробуйте каждую из них, чтобы увидеть, какую информацию они предоставляют.
Теперь мы хотим создать ежедневное и еженедельное резервное копирование, которое будет выполняться автоматически системой (т. е. без нашего взаимодействия). Вот как мы можем настроить эти резервные копии:
mysql-zrm-scheduler --add --interval daily --backup-set dailyrun --backup-level 0
mysql-zrm-scheduler --add --interval weekly --backup-set weeklyrun --backup-level 0(С помощью второй команды мы создали новый набор резервного копирования под названием weeklyrun.)
Теперь давайте проверим наши запланированные резервные копии:
mysql-zrm-scheduler --queryВывод выглядит так:
| Logging to /var/log/mysql-zrm/mysql-zrm-scheduler.log 0 3 * * * /usr/bin/mysql-zrm --action backup --destination /var/lib/mysql-zrm --backup-set dailyrun --backup-level 0 0 4 * * * /usr/bin/mysql-zrm --action purge --destination /var/lib/mysql-zrm 0 2 * * 0 /usr/bin/mysql-zrm --action backup --destination /var/lib/mysql-zrm --backup-set weeklyrun --backup-level 0 |
Как видите, ежедневное резервное копирование выполняется каждый день в 03:00, а еженедельное резервное копирование выполняется каждое воскресенье в 02:00.
(Кстати, вместо
mysql-zrm-scheduler --queryвы также можете выполнить
crontab -lчтобы получить ту же информацию.)
Если вы хотите начать ежедневное резервное копирование в другое время, например, в 13:35, вы можете сделать это так:
mysql-zrm-scheduler --add --interval daily --backup-set dailyrun --start 13:35 --backup-level 0Чтобы удалить запланированное резервное копирование из cron, вы можете сделать это так:
mysql-zrm-scheduler --delete --interval weeklyЭто удалит еженедельное резервное копирование, выполняемое по воскресеньям в 02:00, из cron. Если вы хотите удалить ежедневное резервное копирование, запланированное на 13:35, вы можете сделать это так:
mysql-zrm-scheduler --delete --interval daily --start 13:35Но вы также можете выполнить
crontab -eчтобы отредактировать свои задания cron, что иногда проще, чем иметь дело с mysql-zrm-scheduler.
5 Настраиваемые отчеты, HTML-отчеты
В главе 4 я уже упоминал, какие отчеты доступны. Но вы также можете генерировать настраиваемые отчеты, т. е. вы можете указать, какие столбцы/информацию вы хотите видеть. Например,
mysql-zrm-reporter --fields backup-set,backup-date,backup-level,backup-status --where backup-set=dailyrunгенерирует отчет для набора резервного копирования dailyrun, который показывает столбцы backup-set, backup-date, backup-level и backup-status:
| backup_set backup_date backup_level backup_status ------------------------------------------------------------------------------------------------ dailyrun Tue 26 Sep 2006 07:57:47 PM CEST 0 Резервное копирование успешно завершено dailyrun Tue 26 Sep 2006 07:58:08 PM CEST 0 Резервное копирование успешно завершено dailyrun Tue 26 Sep 2006 07:58:31 PM CEST 0 Резервное копирование успешно завершено dailyrun Tue 26 Sep 2006 08:24:04 PM CEST 0 Резервное копирование успешно завершено |
Список всех столбцов доступен на http://mysqlbackup.zmanda.com/index.php/What_information_can_be_obtained_from_a_backup_report%3F.
mysql-zrm также позволяет создавать HTML-отчеты. Предположим, у вас установлен веб-сервер (например, Apache) на вашей системе с корневым каталогом документов /var/www. Теперь выполните
mysql-zrm-reporter --show backup-status-info --where backup-set=dailyrun --type html --output /var/www/backup-status-dailyrun.htmlЭто создаст HTML-файл backup-status-dailyrun.html в вашей директории /var/www, который вы теперь можете открыть в своем браузере (например, http://server1.example.com/backup-status-dailyrun.html):

Get new posts in your inbox
No spam. Unsubscribe anytime.