crontab -e と /etc/crontab の違い
ふとした拍子にcronのログを見ていたら同じコマンドが実行されていたんですね。
$ less /var/log/cron Feb 6 00:15:01 ip-000-00-00-000 CROND[16356]: (user) CMD (python /home/user/app/manage.py hogehoge) Feb 6 00:15:01 ip-000-00-00-000 CROND[16357]: (user) CMD (user python /home/user/app/manage.py hogehoge) 追記 # 上記のコマンドの
user python /home/user/app/manage.py hogehoge
この部分、おかしいですね〜〜
/etc/crontabの内容を何も考えずにコピーしちゃいました。
/etc/crontabはユーザーを指定して記述するのに対して、crontab -eの場合はユーザーはログインユーザーとなるのでユーザーの記述はいらんのですね。猛省。
おかしいな〜おかしいな〜〜〜〜〜 # こわいな〜こわいな〜〜〜〜。
何て思っていたんですが、そういえばcronの設定を二回したような気がしてきたので確かめてみました。
/etc/crontab # まず初めにcronを設定したときはこのこをいじっていました。
$ sudo vim /etc/crontab ですね。
crontab -e # 何を思ったのかこっちでも設定していたような気がしました。
$ crontab -l で確認することができます。
案の定同じコマンドが同じ時間で実行されるように設定されておりました。
この二つの違いはなんなんでしょうか # こちらがわかりやすいかと思います。
要するに、 /etc/crontabは他のユーザーのcronもまとめて設定できるようなのですね。
たとえば
* * * * * user echo 'fugafuga' * * * * * user2 echo 'hogehoge' のような感じです。