Резервное копирование · 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):

Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.