システム Crontab またはルート Crontab

システム Crontab またはルート Crontab

システム予約タスク:

/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 は変更せず、パッケージで管理する必要があります。

関連情報