`/etc/crontab`、`/etc/cron.d/`、そして`/var/spool/cron/crontabs/root`の下のファイルの違いは何ですか?

`/etc/crontab`、`/etc/cron.d/`、そして`/var/spool/cron/crontabs/root`の下のファイルの違いは何ですか?

2つの目的の違いは何ですか?

  • /etc/crontab
  • ファイルの下/etc/cron.d/
  • /var/spool/cron/crontabs/root

クローンタスクを追加したい場合は、どのファイルに追加しますか?

cron(8) マンページには次の内容があります。

/etc/cron.d/: システム cronjob を含むディレクトリさまざまなユーザーのための保存

「他のユーザーのためのストア」​​とはどういう意味ですか?と似ています/var/spool/cron/crontabs/

https://unix.stackexchange.com/a/478581/674cronのマニュアルページから引用:

通常、システム管理者は/etc/cron.d/を使用せず、標準システムcrontab /etc/crontabを使用する必要があります。

システム管理者は場所を/etc/crontab、またはに追加する必要がありますか?/etc/cron.d//var/spool/cron/crontabs/root

ありがとうございます。

ベストアンサー1

/etc/crontab「システム」タスクの歴史的位置です。すべてのシステムで必ずしも使用されるわけではなく(RedHat 7およびその派生製品には「空」のエントリがある)、呼び出しコマンドとは異なるcron.dailyシステムがあります。

/etc/cron.d/*本質的に同じです/etc/crontabが、別々のファイルに分かれています。これにより、パッケージから新しいcronエントリを簡単に追加できます。その項目をこのディレクトリに入れるだけです。

たとえば、CentOS 7では次のようになります。

% rpm -ql sysstat | grep cron
/etc/cron.d/sysstat

% sudo cat /etc/cron.d/sysstat
# Run system activity accounting tool every 10 minutes
*/10 * * * * root /usr/lib64/sa/sa1 1 1
# 0 * * * * root /usr/lib64/sa/sa1 600 6 &
# Generate a daily summary of process accounting at 23:53
53 23 * * * root /usr/lib64/sa/sa2 -A

これらの項目がの項目と一致することがわかります/etc/crontab

設計する前にcron.dスクリプトを作成する必要があります。編集する /etc/crontab同じことをすると、もっと難しくて間違っている可能性があります。

/var/spool/cron/crontabsそれはコマンド管理に関するものですcrontab

だから...

cronジョブがパッケージによって配布される場合、パッケージはファイルを/etc/cron.d/.Enterpriseオートメーションツールに配置する必要があります。

システム管理者(または他のユーザー)がcronジョブを追加したい場合は、そのジョブが配置されcrontab -eます。/var/spool/cron/crontabs/

おすすめ記事