cron
crontab

【違い】/etc/crontabと/var/spool/cron/[user]

More than 1 year has passed since last update.

はじめに

これまで、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コマンドを利用する。