Crontabで特定の時間を除いて毎時実行

Crontabで特定の時間を除いて毎時に実行したい時の設定方法。

0 * * * * hogehoge

こんな感じにcrontabを設定すれば、毎時00分にhogehogeが実行されるようになります。ここから深夜3時だけは動かしたくないので除外したいというケースではどう書けばよいでしょう。

crontabの設定で除外するという機能はないので、3時を除くというのを愚直に書いてみると

# 3時を除いて毎時実行
0 0,1,2,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23 * * * hogehoge

こんな感じになります。見た目も悪いですしタイプミスで誤作動が怖いですね。

crontabには除外はないですが連続した値をハイフンでまとめる表記があります。これを利用するともうちょっとスマートに書くことが出来ます。

# 3時を除いて毎時実行
0 0-2,4-23 * * * hogehoge

すっきりしました。

Thu, 23 Jul 2015 00:40:25 +0000   |   Category:Memo

関連記事

About Me

kimihiro-n

Androidアプリを中心にいろいろアプリ作ってます。
T N G

Products

放課後アプリ部
放課後アプリ部
個人アプリ開発者のための集客プラットフォーム作りました。 AndroidやiOSアプリのダウンロード数増加を無料で手伝います!

最速のJSON可視化・解析ツール
JSONを使った開発をスムーズにするためのツールです。 特定の値までのパスを簡単に取れます。
過去に作ったiOSアプリ
明日から本気出すタスク管理 for iOS
過去に作ったAndroidアプリ
明日から本気出すタスク管理 for Android Nagareboshi taplight
Others..

Search Articles