crontab -eとless / etc / crontabの違いは何ですか?


11

私はunixとcronにかなり新しく、現在、既存のcronファイルにcronを追加しようとしていました。私はあなたがこれでこれを行うことができると読んだcrontab -e。私にとって混乱するのは、それcrontab -eが異なるcron /コマンドを示しているだけless /etc/crontabです-どうしてですか?編集する正しい方法/ファイルはどれですか?

回答:


14

@X Tianの回答にはcrontabのさまざまなファイルに関する情報が含まれていますが、質問に関する重要な情報は次のとおりです。

crontab -eユーザーのcrontabファイル(/var/spool/cron/crontabs/現在のDebianシステムのディレクトリに保存されていますが、YMMV)を編集するか、ではなく新しいファイルを作成します/etc/crontabcrontab -l(crontabファイルのリスト)およびcrontab -r(crontabファイルの削除)と同様です。

ユーザーのアカウントで実行する必要があるすべてのcronジョブには、を使用する必要がありますcrontab -e。システムジョブの場合は、にファイルを追加する必要があります(/etc/cron.d存在する場合)。以下/etc/cron.{hourly|daily|weekly|monthly}(ただし、パッケージ名のように名前を付けることはできません!)(目的に合っている場合)。またはに行を追加し/etc/crontabます。ただし/etc/crontab、システムアップデートによって上書きされる可能性があることに注意してください。


@Stephane Chazelas編集内容を明確にしていただきありがとうございます。/var/spool/cron/ディレクトリには、Linuxの専門である(参照ファイル階層標準を)と場所は、現在のDebian以外のシステム上で異なる場合があります。
Dubu

3

あなたは本当にマニュアルページを読みたいman cronman crontab

これはあなたの質問をカバーする抜粋です。からman cron

注cronは、そのスプール領域(/ var / spool / cron / crontabs)でcrontabファイル(/ etc / passwdのアカウントにちなんで名前が付けられている)を検索します。見つかったcrontabはメモリに読み込まれます。このディレクトリ内のcrontabには直接アクセスしないでください。それらにアクセスして更新するには、crontabコマンドを使用する必要があります。

   cron also reads /etc/crontab, which is in a slightly  different  format
   (see  crontab(5)).   Additionally, cron reads the files in /etc/cron.d:
   it treats  the  files  in  /etc/cron.d  as  in  the  same  way  as  the
   /etc/crontab  file  (they  follow the special format of that file, i.e.
   they  include  the  user  field).  However,  they  are  independent  of
   /etc/crontab:  they  do  not, for example, inherit environment variable
   settings from it. The intended purpose of  this  feature  is  to  allow
   packages  that  require  finer  control  of  their  scheduling than the
   /etc/cron.{daily,weekly,monthly} directories to add a crontab  file  to
   /etc/cron.d. Such files should be named after the package that supplies
   them. Files must conform to the same naming convention as used by  run-
   parts(8):  they  must  consist solely of upper- and lower-case letters,
   digits, underscores, and hyphens. If the -l option is  specified,  then
   they must conform to the LSB namespace specification, exactly as in the
   --lsbsysinit option in run-parts.

1
どのcronの実装とそのバージョンを、どのOSでどのバージョンから引用しているかを指定する必要があります。cronOSごとに大きく異なるもので、一部の実装では複数の実装から選択できます。
ステファンChazelas
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.