スクリプトを使用してクローンジョブ名を編集する

スクリプトを使用してクローンジョブ名を編集する

ホストリストでcronジョブ名を編集する必要があります。ホスト数を考慮してcronジョブ名を編集するスクリプトはありますか?

例:/var/spool/cron次のクローン操作があります。

00 * * * * /home/app2/limit_proc_status_2048.sh >> /export/home/app2/limit_proc_status.txt

10進数2048を4096に編集するスクリプトを見つける必要があります。

答え1

crontabエントリ(計画とコマンドであり、名前なし)を変更するには、次の手順を実行する必要があります。

  1. 現在のcrontabをファイルにダンプする
  2. ファイルの変更
  3. ファイルからcrontabを再ロードする

最初のステップと最後のステップを完了できます。

crontab -l >crontab.old

そして

crontab crontab.new

次のファイルからcrontabをロードすることに注意してください。変える現在のユーザーのすべての既存のcrontabエントリ。

これら2つの操作の間に行われる修正は単純な置換である可能性sedがあります。

sed 's/limit_proc_status_2048\.sh/limit_proc_status_4096.sh/' crontab.old >crontab.new

代替パターンは、ファイル内の対応する行のみを変更するのに十分に具体的でなければなりません。

問題が発生した場合に備えて、crontab.old両方を保管するのが最善です。crontab.new


ジョブを簡単に変更するには、通常、ジョブを実行するスクリプトをスケジュールするのが最善です。あなたの場合、crontabがスクリプトを呼び出してログファイルなどにリダイレクトを呼び出してスケジュールする場合、limit_proc_status_2048.sh時間をまったく無駄にする必要はありません。crontab変更する必要があるのはスクリプトです。

これは、実行前に追加のロジックと設定が必要なジョブ、または単純に複雑なコマンドを含むジョブの場合に特に当てはまります。 (私は通常、単一の単純なコマンドよりも長いスクリプトを作成して代わりに予約します。)

関連情報