3.5. Satellite データベースのバックアップの自動化

バックアップ作業を自動化して、ピーク時を避け深夜もしくは早朝などにバックアップが行われるようにすることができます。これにより、バックアップをとるのを忘れてしまったりすることなく定期的にバックアップを実施することができます。バックアップの自動化で最も効果的なのは cron を使用する方法です。

手順3.6 Satellite Server データベースのバックアップ自動化

backup-db.sh という名前の新しいファイルを作成し、以下のスクリプトを含ませます。このスクリプトで Satellite の停止や、データベースのバックアップ、および Satellite の再起動などを行います。
#!/bin/bash
{
/usr/sbin/rhn-satellite stop
d=db-backup-$(date "+%F");
mkdir -p /tmp/$d;
db-control backup /tmp/$d
/usr/sbin/rhn-satellite start
} &> /dev/null
  1. move-files.sh という名前の新しいファイルを作成し、以下のスクリプトを含ませます。このスクリプトを使ってバックアップファイルを格納先のディレクトリーに rsync で移動します。
    #!/bin/bash
    rsync -avz /tmp/db-backup-$(date "+%F") <destination> &> /dev/null
    <destination> をバックアップディレクトリーのパスに置き換えます。
    または、以下のスクリプトを使用しても同じことができます。
    #!/bin/bash
    scp -r /tmp/db-backup-$(date "+%F") <destination> &> /dev/null
  2. root ユーザーに切り替え、テキストエディターで crontab ファイルを開きます。
    # crontab -e

    注記

    デフォルトでは crontab ファイルは vi で開かれます。この動作を変更するには、EDITOR の変数を希望するテキストエディターの名前に変更します。
  3. 適切なジョブ定義を作成して、バックアップスクリプトを実行するスケジュールを設定します。
    0 3 * * * backup-db.sh
    0 6 * * * move-files.sh
    この crontab のエントリーの場合、バックアップは 03:00 に、そのバックアップファイルの転送は 06:00 にそれぞれ実行されます。その他のオプションも必要に応じて追加することができます。また、古いバックアップディレクトリーを削除してバックアップストレージが満杯にならないようにするクリーンアップスクリプトを含めることもできます。
  4. エディターを終了するだけで crontab ファイルは保存されます。追加した新しいルールは直ちに反映されます。

このページには機械翻訳が使用されている場合があります (詳細はこちら)。