システム予約タスク:
/etc/crontab
ルートクローンタブ:
sudo crontab -u root -e
どのような方法が好まれますか?なぜなら、すべて管理権限内でタスクを実行するからです。
答え1
/etc/crontab
システム全体のcrontabです。
形式は/etc/crontab
次のとおりです。
# m h dom mon dow user command
* * * * * someuser echo 'foo'
ユーザー固有であるがパラメーターを持たないcrontabコマンドは、現在ユーザーのcrontabに移動することにcrontab -e
言及する価値があります。特定のユーザーのcrontabを編集-u
できます。crontab -e -u <username>
ユーザー固有のcrontabには「user」フィールドはありません。
# m h dom mon dow command
* * * * * echo 'foo'
crontabの潜在的に混乱する側面の1つは、ルートにも独自のcrontabがあることです。たとえば、crontab -e -u root
編集できません/etc/crontab
。スケジュールされたジョブの構成。
Linuxディストリビューションでは、各ユーザーのcrontabは通常次の場所に保存されます。/var/spool/crontabs/<username>
引用する
https://superuser.com/questions/290093/difference-Between-etc-crontab-and-crontab-e
答え2
/etc/cron.d(およびその兄弟cron.daily/weekly/monthly)は、すべてのシステムで好ましいcrontabです。 /etc/crontabに触れる必要はありません。
トランザクションを管理または自動化する場合は、機能に応じて複数のファイルのcronエントリを分離する必要があります。 /etc/cron.dの下のファイルは、PuppetやChefなどのパッケージまたは構成管理ツールを使用して簡単に管理できます。 Rootのcrontab OTOHは、実際には人間以外の人が維持することはできません。
簡単に言えば、システム関連のタスクには /etc/cron.* を使用します。 rootユーザーに特定のタスクを実行させるには、rootのcrontabを使用します。 /etc/crontab は変更せず、パッケージで管理する必要があります。