回答:
/etc/crontab
システム全体のcrontabです。
の形式/etc/crontab
は次のとおりです。
# m h dom mon dow user command
* * * * * someuser echo 'foo'
一方、crontab -e
ユーザーごとですが、それの価値が無いと言及-u
crontabコマンドは、現在のユーザーのcrontabに行く引数。crontab -e -u <username>
特定のユーザーのcrontabを編集することができます。
ユーザーごとのcrontabには「ユーザー」フィールドがないことに注意してください。
# m h dom mon dow command
* * * * * echo 'foo'
混乱する可能性のあるcrontabの特徴は、rootにも独自のcrontabがあることです。たとえばcrontab -e -u root
、編集しないcronの設定を/etc/crontab
参照してください。
Linuxディストリビューションでは、ユーザーごとにcrontabは通常次の場所に保存されます。 /var/spool/crontabs/<username>
参考文献
/superuser/290093/difference-between-etc-crontab-and-crontab-e
/etc/crontab
からといってルートのcrontabを編集してそれを回避しますcrontab -e
/etc/cron.d(およびその兄弟cron.daily / weekly / monthly)は、すべてのシステムcrontabに適しています。/ etc / crontabを変更する必要はありません。
物事の管理または自動化を計画している場合は、機能に基づいて、複数のファイルのcronエントリを分離することが不可欠です。/etc/cron.dの下のファイルは、puppetやchefなどのパッケージまたは構成管理ツールによって簡単に管理できます。ルートのcrontab OTOHは、人間以外の人が実際に保守することはできません。
要するに、システム関連のものには/etc/cron.*を使用できます。rootユーザーにしてもらいたいことがある場合は、rootのcrontabを使用します。/ etc / crontabはそのままにして、パッケージで管理する必要があります。