Вопрос: Что означает * * * * * (пять звездочек) в файле cron? [Дубликат]


На этот вопрос уже есть ответ:

Первая строка noncomment в устаревшем файле crontab начинается с пяти звездочек:

* * * * * ([a_command]) >/dev/null 2>&1

Авторы ушли, поэтому я не знаю их намерение, Что означает все подстановочные знаки (Solaris 8) cron?  Ставки здесь либо выполняются один раз, либо работают непрерывно, либо бегут никогда, что, к сожалению, широко.

Если вам интересно о строке комментариев, предшествующей этому, это «Не удалять».

Примечание. Этот файл cron за работой, Этот вопрос не дубликат вопроса о поврежденных файлах cron или cron-файлах, требующих устранения неполадок.


45
2017-07-20 21:15


Источник


Что-то еще следует отметить, так как это сильно повлияло на работу в последнее время: раздел> / dev / null 2> & 1 передает все выходные данные из STDOUT и STDERR в / dev / null. Причина в том, что это делается: если вы этого не сделаете, то вывод из программы, вызываемой в crontab, будет отправлен в локальный почтовый ящик пользователя. Прежде чем я это узнал, я заполнил жесткий диск на производственном сервере из сценария, работающего каждые две минуты. - Luke has no name
Спасибо, у Люка нет имени; Я неправильно объяснил это чрезмерной суетливостью. - Thomas L Holaday
Похоже, мне это подходит. Ответ объясняет, как работает crontab, и, как он объясняет, это будет выполняться раз в минуту. Разметка как дубликат не предназначена для того, чтобы унизить ваш вопрос, но для сбора часто задаваемых вопросов о cron и их ответах в одном месте. - Michael Hampton♦


Ответы:


Каждую минуту каждого дня каждой недели каждого месяца эта команда запускается.

man 5 crontab имеет документацию по этому вопросу. Если вы просто введите man crontab, вы получаете документацию для crontab команда, Вы хотите, чтобы раздел 5 страниц руководства содержал файлы конфигурации системы, включая /etc/crontab файл. Для дальнейшего использования разделы описаны в man man:

   1   Executable programs or shell commands
   2   System calls (functions provided by the kernel)
   3   Library calls (functions within program libraries)
   4   Special files (usually found in /dev)
   5   File formats and conventions eg /etc/passwd
   6   Games
   7   Miscellaneous  (including  macro  packages and conven‐
       tions), e.g. man(7), groff(7)
   8   System administration commands (usually only for root)
   9   Kernel routines [Non standard]

47
2017-07-20 21:17



Это буквальное значение; Я был обеспокоен тем, что это может быть особый случай. Спасибо за заверение. - Thomas L Holaday
+1 для ответа, -1 для man cron комментарий. man страницы, как известно, трудно читать и понимать для новичков - вот почему люди приходят сюда, чтобы man страницы, объясненные им. - Mark Henderson♦
В целом, поскольку это должно было быть man 5 crontab, Эта справочная страница более конкретна и очень проста для понимания. Видеть: linux.die.net/man/5/crontab - Warner
Это нормально, если пользователь знает, что 5 имеет значение. Большинство новых или неполных пользователей Linux не знают, какой номер, если таковой имеется, использовать для доступа к страницам man. - John Gardeniers
@ Джон, чтобы доказать свою точку зрения, как кто-то, кто только окунает свой носок в * nix, когда мне нужно перезапустить случайный сервер Apache, я даже не знал, что вы можете сделать man 5 и я понятия не имею, что произойдет, если я это сделаю ... - Mark Henderson♦


* = всегда. Это шаблон для каждой части выражения расписания cron.

Так * * * * * означает every minute из every hour из every day из every month а также every day из week,

 * * * * *  command to execute
 ┬ ┬ ┬ ┬ ┬
 │ │ │ │ │
 │ │ │ │ │
 │ │ │ │ └───── day of week (0 - 7) (0 to 6 are Sunday to Saturday, or use names; 7 is Sunday, the same as 0)
 │ │ │ └────────── month (1 - 12)
 │ │ └─────────────── day of month (1 - 31)
 │ └──────────────────── hour (0 - 23)
 └───────────────────────── min (0 - 59)

Хороший рисунок, приведенный выше, обеспечивается википедия

Другой пример:

0 * * * * Это означает, что cron будет работать всегда, когда минуты 0 (так почасово)
0 1 * * * - это означает, что cron будет работать всегда в 1 час.
* 1 * * * - это означает, что cron будет запускаться каждую минуту, когда час равен 1. So 1:00, 1:01, ...1:59,


26
2018-06-04 07:38



Человек, который действительно имеет смысл для меня сейчас. Спасибо за объяснение. - Vishal
Разве это не шестой столбец для имени пользователя для запуска команды? Я всегда задавался вопросом, как cron отличает команду от пользователя, если есть промежуток между ними, например * * * * * php /var/myscript.php - как cron знает, если php является частью команды, а не именем пользователя? - JustAMartin


First star = Minutes: 0-59
Second star = Hours: 0-23
Third star = Day of Month: 0 - 31
Fourth star = Month: 0 - 12
Fifth star = Day of Week: 0 - 6 (0 means sunday)

Скажите, что вы хотите запускать что-то каждый 1-го числа каждого месяца.

0 0 1 * * something.sh

8
2017-07-20 21:22



Это означает, что каждый час каждого часа каждый месяц (каждый из которых будет 1440 раз в день 1) каждый час будет запускать что-либо каждую минуту. - Kevin Brock
О да, позвольте мне изменить это. - Michael Burns