お金プログラム ~だれでもノマド~

ノマド的な稼ぎ方、投資、IT系(プログラミング)に関するブログです。

crontabでタイムスケジューラを設定しよう

LInuxで、決まった時間に処理を動かすことができる「crontab」。

使い方を知ってると、とても便利なので解説しますね。

 

f:id:toyo--104:20180607234213j:plain

 

 

crontabとは

crntabは、Linuxでタイムスケジューラが設定できる機能です。

例えば、8:00になったら、~~という処理を流すとか、

10分おきに、なにかのプログラムを実行する、とかです。

 

crontab設定方法とデモ

それでは早速設定デモです。

今回は、単純に現在の時間をファイルに記入してくれる「time.sh」を、1分おきに実行したいと思います。

 

まずは、crontabを開きます。

 

crontab -e

 

何も書いていない場合も多いですが、心配なく。

ここに追記します。

 

*/1 * * * * ~/time.sh

 

これで、viと同じく「:wq」で保存できれば大丈夫です。

記法が間違っているとエラーが出て保存できません。

 

数分待って、ファイルを見てみると、

f:id:toyo--104:20180608000256p:plain

1分おきに、時間が追記されていることが分かります。

 

contab設定の意味

「* * * * * 」は、左から、「分」「時」「日」「月」「曜日」を表しています。

 例えば、10 0 * * * a.sh であれば、毎日0:10に「a.sh」を実行する、という意味になります。

 

項目設定できる値

0-59
0-23
1-31
1-12
曜日 0-7、0=日、1=月、2=火、3=水、4=木、5=金、6=土、7=日

 

他の便利な設定例(分フィールドで実施した場合)

0,10,20,30   0,10,20,30分に実行
*/10 10分おきに実行

 

実行ユーザー

crontab -eで設定したユーザーが、実行ユーザーになります。

権限設定ミス(実行権限なし)などで、エラーにならないように注意しましょう。