LoginSignup
97

More than 5 years have passed since last update.

各ユーザのcrontabファイルの場所について

Last updated at Posted at 2014-10-19

経緯

gitで管理しているプロジェクトの中に定期バッチの編集も一緒に管理する必要があったので調べた。

定番

  • cronといえば、だいたい以下のディレクトリを参照する。
/etc/crontab
/etc/cron.d
/etc/cron.daily/
/etc/cron.weekly/
/etc/cron.hourly/
/etc/cron.monthly/
  • もしくはユーザ毎(iganari)のcrontabに加筆修正していく
cmd
# crontab -e
or
# crontab -uiganari -e

※ しかし上記は-rオプションで消してしまう事故等が多発することで有名。

crontabってどこにあるんだろ

いつもcrontabで編集しているファイルって、結局どこにあるのかなって思ったので調べてみた。

結果は以下

パス
/var/spool/cron

この下にユーザ毎の設定ファイルが置かれている

パス
# ll /var/spool/cron
-rw------- iganari iganari vagrant

ここの配下にあるファイルは600なので、ユーザ自身が加筆修正可能。

ここからはgitの話

root以外でも変更出来るようにパーミッションの変更

cmd
# chmod 777 /var/spool/cron

.git/hooksに設定を加筆

/プロジェクトのパス/.git/hooks

  • .git/hooksの設定
  • pull(fetch + merge)した時に発動(厳密的に言えばmergeの際に発動)

参考

crontab -eと/etc/crontabでcronを設定する方法

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
97