Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
92
Help us understand the problem. What are the problem?

More than 5 years have passed since last update.

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

経緯

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を設定する方法

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
92
Help us understand the problem. What are the problem?