Linuxコマンド辞典 crontabコマンド(プロセス管理)

定期的に実行するスケジュール管理をする「crontab」コマンドの概要と使い方を記載しています。

RHEL Fedora CentOS Vine Deblan Ubuntu Plamo

参考サイト:Man page of INSTALL

概要・使用方法

書式

$ crontab [オプション] 

一般ユーザが1時間ごと、1日ごとなどcrontab編集することで定期的にコマンドを実行します。crontabは「分時 日 月 曜日 コマンド」の形式で実行時間の実行コマンドを指定します。ユーザのcrontabファイルは、Debianでは/var/spol/cron/crontabs/ユーザー名、RedHat系では/var/spool/cron/ユーザー名に用意されています。コマンドを実行する際、HOMEやLOGNAME(ユーザー名)などの環境変数を利用できます。

crontabについて

オプション

-lcrontabの内容を表示する
-rcrontabファイルのエントリーをすべて削除する
-eエディタを開いてcrontabを編集する
-icrontabファイルを削除するときに警告する
-u ユーザー名ユーザーを指定してcrontabファイルを編集する(rootユーザーのみ)

crontabファイルのフィールド

フィールド説明
0~59までの整数
0~23までの整数
1~31までの整数
1~12までの整数、もしくはjan~decまでの文字列
曜日0~7までの整数(0と7:日曜日から6:土曜日)もしくはSun、Monといった文字列
コマンド実行するコマンドのパス

crontabを作成する

crontab -e

登録したスケジュールを表示します

crontab -l

実行結果

毎日23時15分に/usr/local/bin/backupコマンドを実行する

[sunarin@localhost ~]$ crontab -l
15 23 * * * /usr/local/bin/backup

[sunarin@localhost ~]$ 

5分ごとに/usr/local/bin/backupコマンドを実行する

[sunarin@localhost ~]$ crontab -l
*/5 * * * * /usr/local/bin/backup

[sunarin@localhost ~]$ 

登録したスケジュールをすべて削除します

crontab -r

実行結果

[sunarin@localhost ~]$ crontab -l
15 23 * * * /usr/local/bin/backup

[sunarin@localhost ~]$ crontab -r
[sunarin@localhost ~]$ crontab -l
no crontab for sunarin
[sunarin@localhost ~]$ 

他のユーザーの登録スケジュールをすべて削除します。

crontab -r -u test

実行結果

[sunarin@localhost ~]$ crontab -r -u test

管理者権限でユーザのcrontabを把握する

管理者権限で実行する必要がある。

crontab -u ユーザー名 -l

実行結果

[root@localhost ~]# crontab -u test -l
*/5 * * * * /usr/local/bin/backup

[root@localhost ~]# 

管理者権限でユーザ権限のcrotabを削除する。各ユーザーは自分のcrontabを削除できる。

crontab -u ユーザー名 -r

実行結果

[root@localhost ~]# crontab -u test -l
*/5 * * * * /usr/local/bin/backup

[root@localhost ~]# crontab -u test -r
[root@localhost ~]# crontab -u test -l
no crontab for test
[root@localhost ~]#