Linux(リナックス)

隔週で金曜日の正午にバッチを実行

Cronでバッチ処理のスケジュール登録をしようと思ったんですが、

隔週で金曜日の正午に実行させるという設定が結構面倒でした。

 

で、

代替策として、

隔週ではなく毎月第一・第三金曜日の正午にバッチ処理を実行するように設定することに。

Cronへは以下のように記述します。
=======================
# 第一金曜日の正午
0 12 1-7 * 5 root sample.sh
# 第三金曜日の正午
0 12 15-21 * 5 root sample.sh
=======================

簡単に設定を説明すると、

先頭から順に

「分 時 日 月 曜日 コマンド」

を表しています。

「*」は~毎という意味です。

また、
曜日は
1:月曜日
2:火曜日
3:水曜日
4:木曜日
5:金曜日
6:土曜日
7または0:日曜日

なので、
「0 12 1,2,3,4,5,6,7 * 5 root sample.sh」
であれば、
「0」は0分、
「12」は12時、
「1,2,3,4,5,6,7」は1~7日、
「*」は毎月、
「5」は金曜日
を表しており、
毎月1~7日の中で金曜日に該当する日付けの正午(12時0分)にバッチを実行しろということになるようです。

 

で、

該当の日にのみ実行されるかを検証してみることに。

あれ!?

今日第4金曜なのにバッチ処理が動いてる!?

 

原因を調査してみると、

不覚にも参考にしたサイトの内容が間違っていたようです。

 

「0 12 1-7 * 5 root sample.sh」

だと1~7日まで毎日動いてしまうようです。

 

あと、毎週金曜日にもやはり実行されてしまうようです。

 

いろいろ調べた結果、そもそもcronで上記のような指定は出来ないようで、

結局、

シェルの中で第何金曜日かを判定してやるしかないみたいですね!!

 

いい勉強になりました。

 

この機会にcronについてもう少し勉強してみます。

 

cronの設定方法などは、

http://kazmax.zpp.jp/linux/lin_cron.html

などで詳しく解説してくれているので、

そちらを参考にしてみてください。

この記事を書いている人
株式会社ディープ
名前足立拓也

メールアドレスadachi@deep-deep.jp

関連記事

最近の記事

  1. ドメインについて
  2. WP:WordPress(ワードプレス)
  3. URL設計(URLデザイン)
  4. URL「ディレクトリ名」と文字アンダースコア(_)とハイフン(-)
  5. SEO対策(外部ファイルの読み込み)
  6. URL リダイレクト
  7. インデックスされない
  8. 内部対策は必要?
  9. CMS(シーエムエス)
  10. SEO業者は必要?

Twitter

アーカイブ

PAGE TOP