Posted at

【違い】/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コマンドを利用する。