web-dev-qa-db-ja.com

CRONジョブがスタンバイAIXサーバーで実行されないようにする

AIX 5.3Unixサーバーのアクティブ/スタンバイペアがあります。ビジネス要件により、コンポーネントのリストをコンポーネント間で同期させる必要があります。 DataGuardおよび/ var/pool/cron/crontabsを含む特定のOSファイルとフォルダを使用するOracleRDBMS。

CRON関連ファイルの同期を維持する際の問題は、それらがスタンバイでも実行されることですが、これは望ましくありません。ジョブがスタンバイで実行されないようにする方法は何ですか?

これまでの私の考えは、「CRON」プロセスを停止することです(それが正確なUnixプロセス名である場合)が、モニタープロセスによって開始される可能性があるかどうかはわかりません。

1
Dave M

AIXのcronデーモンは、initを介して開始/再起動されるため、停止するのはそれほど簡単ではありません。

しかし ここ ジョブを実行するためにcronを停止する方法は非常に良い考えです。これらのコマンドを使用して、cronテーブル/ジョブのバックアップを作成し、ジョブの空のリストを配置します。必要に応じて、バックアップから復元します。

crontab -l > /tmp/crontab.saved #backup the crontab
touch /tmp/empty.file #create an empty file
crontab -l /tmp/empty.file #delete all entries by replacing them with the 'contents' of empty.file
#cron is now running but has no entries so it won't do anything
crontab  /tmp/crontab.saved #reload the saved cronjobs
2
Romeo Ninov

アクティブノードにのみマウントされ、同期されていないファイルをストレージに作成します。ファイルが存在しない場合に終了するスクリプトでジョブをラップします。 cronを両方のノードで実行したままにします。

2
John Mahowald