Чим crontab -e відрізняється від меншого / etc / crontab?


11

Я досить новий для Unix та кронів, я зараз збирався спробувати додати крони до наявного файлу cron. Я читав, що ти можеш це зробити crontab -e. Мене бентежить те, що crontab -eпоказує різні крони / команди, ніж less /etc/crontab- як це зробити? Який правильний спосіб / файл редагувати?

Відповіді:


14

Хоча відповідь @X Тіана містить інформацію про різні файли для crontab, важливою інформацією щодо вашого питання є така:

crontab -eредагує файл crontab користувача (зберігається в /var/spool/cron/crontabs/каталозі в поточних системах Debian, але YMMV) або створює новий, а не /etc/crontab. Аналогічно для crontab -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 (див File Hierarchy Standard ) і розташування може відрізнятися по відмінним від поточної Debian систем.
Дубу

3

Ви дуже хочете прочитати сторінки керівництва man cronтаman crontab

Ось витяг, який висвітлює ваше запитання. Зman cron

ПРИМІТКИ cron здійснює пошук у своїй області золотника (/ var / spool / cron / crontabs) для файлів crontab (які названі іменами акаунтів у / etc / passwd); знайдені кронтабули завантажуються в пам'ять. Зауважте, що до crontabs у цьому каталозі не можна отримувати доступ безпосередньо - команду 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 та яку її версію на якій ОС та яку версію ви цитуєте. cronце щось, що сильно відрізняється від ОС до ОС, а в деяких ви можете вибрати між декількома реалізаціями.
Стефан Шазелас
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.