web-dev-qa-db-ja.com

システムクローンタブまたはルートクローンタブ

システムcrontab:

/etc/crontab

ルートcrontab:

Sudo crontab -u root -e

どちらの方法が好ましいですか?それらはすべて管理特権内でタスクを実行するため。

10
Pei Z

/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は編集しません/etc/crontabcronの構成 を参照してください。

Linuxディストリビューションでは、ユーザーごとにcrontabsは通常次の場所に格納されます:/var/spool/crontabs/<username>

参照

https://superuser.com/questions/290093/difference-between-etc-crontab-and-crontab-e

15
Ramesh

/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はそのままにして、パッケージで管理する必要があります。

7
V13