9.9. 同期を自動化する

手動で Red Hat Network Satellite リポジトリを Red Hat Network と同期するのは大変時間のかかる作業となります。 米国内での業務時間となる時間帯は Red Hat Network の利用がピークとなる傾向があるため、 この時間帯の同期には時間がかかる可能性があります。 このため、 Red Hat ではこれ以外の時間帯に同期を行うよう自動化して負荷の分散と同期の迅速化を図ることをお勧めします。 米国は 4 つのタイムゾーンに別れるため、 米国全土の業務時間帯は東部標準時間で月曜日から金曜日のほぼ 8:00 AM から 9:00 PM の間になります (UTC -5)。 この時間帯は季節により 1 時間の時差が生じる場合があります。 また、 最適なパフォーマンスを得るために同期はランダムに行うことを強く推奨しています。
自動化は cron ジョブを 1 つ追加するだけで簡単に設定できます。 root として crontab を編集します。
crontab -e
テキストエディター、 デフォルトでは Vi 内に crontab が開きます。 export EDITOR=gedit のように、最初に EDITOR 変数を変更しておくと Vi 以外のエディターを使用することもできます。
エディターが開いたら、 最初の 5 つのフィールド (分、時、 日、 月、 曜日) を使用して同期をスケジュールします。 必ず 24 時間形式で時刻指定を行ってください。 次のようにランダムに同期を行うよう crontab を編集します。
0 1 * * * perl -le 'sleep rand 9000' && satellite-sync --email >/dev/null \
2>/dev/null
このジョブは、システム時間 1:00 a.m. から 3:30 a.m. の間に毎晩ランダムに実行されます。 上記では、 cron からの stdoutstderr をリダイレクトすることで satellite-sync からのメッセージだけを簡単に読み取れるようにしています。 --email 以外のオプションも含ませることができます。オプション全一覧は 表6.1「satellite-sync のオプション」 を参照してください。エディタを終了すると、変更した crontab は直ちにインストールされます。