バックアップ · 1 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 Backup succeeded ---- |

他にもいくつかのレポートを次のコマンドで生成できます:

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

(2番目のコマンドで、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 ------------------------------------------------------------------------------------------------ dailyrun Tue 26 Sep 2006 07:57:47 PM CEST 0 Backup succeeded dailyrun Tue 26 Sep 2006 07:58:08 PM CEST 0 Backup succeeded dailyrun Tue 26 Sep 2006 07:58:31 PM CEST 0 Backup succeeded dailyrun Tue 26 Sep 2006 08:24:04 PM CEST 0 Backup succeeded |

すべての列のリストはhttp://mysqlbackup.zmanda.com/index.php/What_information_can_be_obtained_from_a_backup_report%3Fで入手できます。

mysql-zrmを使用すると、HTMLレポートも作成できます。例えば、システムにドキュメントルート/var/wwwを持つWebサーバー(例:Apache)がインストールされていると仮定します。次に実行します:

mysql-zrm-reporter --show backup-status-info --where backup-set=dailyrun --type html --output /var/www/backup-status-dailyrun.html

これにより、/var/wwwディレクトリにbackup-status-dailyrun.htmlというHTMLファイルが作成され、ブラウザでアクセスできるようになります(例:http://server1.example.com/backup-status-dailyrun.html):

Share: X/Twitter LinkedIn

新しい投稿を受信箱で受け取る

スパムはありません。いつでも購読を解除できます。