はじめに
これまで、cronの設定をする際は/etc/crontabに記述して設定を行っていました。
しかし、ある時/var/spool/cron/[user]というファイルを見つけてしまったので、この二つの違いを自分なりに調べてまとめてみます。
ちなみに、[user]には任意のOSのユーザー名が来ます。
比較
##/etc/crontab
- システムジョブ(デイリーログローテーション、デイリーバックアップ等)で使用するもの
- すべてroot権限で実行
- 設定ファイル: /etc/crontab
- 設定方法:
# vi /etc/crontab
でファイルを編集 - 記述方法: 分 時 日 月 曜日 ユーザ コマンド
- 設定の反映には、HUPシグナルを手動で送信する必要あり(crondの再起動)
##/var/spool/cron/[user]
- ユーザージョブ(臨時バックアップなどの臨時で実行するジョブ)
- [user]毎に実行
- 設定ファイル: /var/spool/cron/[user]
- 設定方法:
# crontab -u [user] -e
- 記述方法: 分 時 日 月 曜日 コマンド (※ユーザー名は不要)
-
# crontab -u [user] -e
後に自動的に反映される
まとめ
rootで実行するか(/etc/crontab)、それ以外のユーザーで実行するか(/var/spool/cron[user])で使い分ける。
/var/spool/cron/[user]は、直接vi
で編集するのではなくcrontab
コマンドを利用する。