ひとり勉強ログ

ITエンジニアの勉強したことメモ

CentOS7.1でcrontabを確認・設定する方法

crontabを設定しておけば、設定しておいた時間に定期的に、自動的にコマンドを実行することができる。

crontab の現状の設定の確認

以下のコマンドで確認。 [bash] [root@localhost ~]# crontab -l [/bash]

root権限では、現状何も設定されていないことが分かる。 [bash] no crontab for root [/bash]

crontab を設定する

以下のコマンドで crontab を設定する。 [bash] [root@localhost ~]# crontab -e [/bash]

vimでファイルが開く。ここにcrontabの設定を記述していく。

crontabの書式

実行するタイミングとコマンドを設定する。 [bash] 分 時 日 月 曜日 コマンド * * * * * command [/bash]

「分」「時」「日」「月」「曜日」で指定できる値。

0~59
0,10,20,30と指定すると0分、10分、20分、30分に実行。
*/20と指定すると20分間隔で実行。
0~23
6,7,18-21と指定すると6時、7時、18時、19時、20時、21時に実行。
1~31
1~12 または jan~dec
1-3と指定すると1月、2月、3月に実行。
曜日 0~7 または sun~sat

[設定例1]1月から3月の月曜から金曜の毎朝6時30分に「おはようございます」と表示させる

[bash] 30 6 * 1-3 1-7 echo "おはようございます" [/bash]

[設定例2]毎朝8時15分にメモリの状況を表示させる

[bash] 15 8 * * * free -mt [/bash]

crontab への実際の設定方法

上記[設定例2]を実際に設定する。

[bash] [root@localhost ~]# crontab -e [/bash]

vimでファイルが開く。「i」キーで編集モードになるので、以下を入力する。

[bash] 15 8 * * * free -mt [/bash]

入力後、「Esc」キーで編集モードを抜け、「:wq」+「Enter」キーで保存して終了。

crontab を再度編集する場合

設定した crontab を再度編集する・追記して更に設定を増やす場合も新規設定と同様、以下のコマンドで開いて編集していく。

[bash] [root@localhost ~]# crontab -e [/bash]

crontab の設定が保存されている場所

「/var/spool/cron/」内にユーザーごとの設定ファイルが置かれている。

以下のコマンドで上記で設定した内容が確認できる。

[bash] [root@localhost ~]# cat /var/spool/cron/root [/bash]

crontab を削除する

[bash] [root@localhost ~]# crontab -r [/bash]

※すべての設定が削除されるので注意。