web-dev-qa-db-ja.com

cron.d(/etc/cron.d/など)とcrontabの違いは何ですか?

ディレクトリcron.d(/etc/cron.d/など)とcrontabの主な違いは何ですか?

私が理解している限り、/etc/cron.d/my_non_crontab_cronjobsを介してcrontabにファイルを配置するのと同じように、crontab -eのようなファイルを作成し、その中に必要なものを配置できます。

では、2つの主な違いは何ですか?

18
Arcticooling

違いはDebianの the cron(8) manpage に詳細に記載されています。主な違いは、/etc/cron.dには個別のファイルが入力されるのに対し、crontabはユーザーごとに1つのファイルを管理することです。したがって、スクリプトを使用して/etc/cron.dのコンテンツを管理するのが簡単になり(自動インストールと更新の場合)、エディタを使用してcrontabを管理するのが簡単になります(実際にエンドユーザーの場合)。

その他の重要な違いは、すべてのディストリビューションが/etc/cron.dをサポートしているわけではなく、/etc/cron.d内のファイルは特定の数の要件を満たしている必要があることです(有効なcronジョブ以外に)。これらはrootが所有し、 run-parts '命名規則に準拠(ドットなし、文字、数字、アンダースコア、ハイフンのみ)。

/etc/cron.dの使用を検討している場合は、通常、代わりに/etc/cron.hourly/etc/cron.daily/etc/cron.weekly、または/etc/cron.monthlyのいずれかを検討する価値があります。

24
Stephen Kitt

主な違いは明白なものだと思います:/etc/crontab/etc/cron.dは通常のユーザーは変更できませんが、/var/spool/cronのユーザーごとのcrontabはcrontabツールです編集です。 (もちろんcron.allowcron.denyに従います。)もちろん、管理者であるシステムでは、どちらでも使用できます。共有システムでは、通常のユーザーは1つしか使用できません。

これに関連するのは、システム全体のファイルの追加フィールド、つまりジョブを実行するユーザー名です。

5
ilkkachu