Red Hat Training
A Red Hat training course is available for Red Hat Satellite
3.3. 自動バックアップ
バックアップ作業を自動化して、 ピーク時を避け深夜もしくは早朝などにバックアップが行われるようにすることができます。 これにより、 バックアップをとるのを忘れてしまったりすることなく定期的にバックアップを実施することができます。 バックアップの自動化で最も有効なのが
cron
を使用する方法です。
手順3.3 バックアップを自動化する
backup-db.sh
という名前の新しいファイルを作成し、 以下のスクリプトを含ませます。 このスクリプトで Satellite を停止する、 データベースのバックアップをとる、 Satellite を再起動する、 という作業を行います。
#!/bin/bash { /usr/sbin/rhn-satellite stop su - oracle -c' d=db-backup-$(date "+%F"); mkdir -p /tmp/$d; db-control backup /tmp/$d '; /usr/sbin/rhn-satellite start } &> /dev/null
move-files.sh
という名前の新しいファイルを作成し、 以下のスクリプトを含ませます。 このスクリプトを使ってバックアップファイルを格納先のディレクトリにrsync
で移動します。#!/bin/bash rsync -avz /tmp/db-backup-$(date "+%F") [destination] &> /dev/null
[destination] の部分には、 バックアップディレクトリへのパスを入れます。代わりに、以下のスクリプトのようにscp
を使用しても同じことができます。#!/bin/bash scp -r /tmp/db-backup-$(date "+%F") [destination] &> /dev/null
- root ユーザーに切り替え、テキストエディタで
crontab
を開きます。crontab -e
注記
デフォルトではcrontab
は vi で開かれます。 この動作を変更するにはEDITOR
の変数を希望のテキストエディタ名に変更します。 crontab
で、最初の 5 つのフィールド (分、時、日、月、曜日) を使用してバックアップスクリプトを実行するスケジュールを設定します。0 3 * * * backup-db.sh 0 6 * * * move-files.sh
このcrontab
のエントリの場合、 バックアップは 03:00、 そのバックアップファイルの転送が 06:00 にそれぞれ実行されます。 その他のオプションも必要に応じて追加することができます。 また、 古いバックアップディレクトリを削除してバックアップストレージが満杯にならないようにするクリーンアップスクリプトを含ませることもできます。- テキストエディタを終了するだけで
crontab
は保存されます。 追加した新しいcron
ルールは直ちに反映されます。