Что означает «* * / 1 * * *» запись cron?

14

Почему-то мне трудно понять, как настраивать *параметры с помощью cron.

Я хотел, чтобы работа выполнялась каждый час, и я использовал следующие настройки:

* */1 * * *

Но это, похоже, не делает работу. Может кто-нибудь объяснить, пожалуйста, значение выше и что нужно для работы?

хуг
источник
Хорошо, теперь я понимаю: проблема с отметкой *, я поставил на минутное место ... * / 1 и * на часовом месте, вероятно, означают одно и то же ..
xyz
1
На самом деле, похоже, что он будет работать каждую минуту! Если он вообще не работает, то у вас есть другая проблема. Какая строка идет после той части, которую вы опубликовали?
dotancohen

Ответы:

24
  • *значит каждый .
  • */nозначает каждый nth . (Так */1значит каждый 1. )

Если вы хотите запускать его только один раз в час, вы должны установить первый элемент на что-то другое *, например, 20 * * * *чтобы запускать его каждый час в минуту 20.

Или, если у вас есть разрешение на запись /etc/cron.hourly/ (или что-то еще в вашей системе), тогда вы можете разместить там скрипт.

manatwork
источник
1
Я думал п, значит каждый н-т. Какая разница между n и 1 / n тогда?
XYZ
7
nозначает точно в п . Как и выше, 20 означает 20 минут . 1/nозначает, начиная с 1, каждый nth . Однако на практике это используется как 1-2/n, то есть в интервале от 1 до 2, каждый n-й . (Обратите внимание, что не все cronреализации поддерживают интервалы.)
manatwork
5
+1 просто закинуть его /etc/cron.hourlyна любую современную машину. Мы ждали его десятилетиями, и вот для чего он!
Аарон Д. Мараско
2

Это */1избыточно, вы должны использовать *вместо этого.

* */1 * * *

не запускает работу каждый час, запускает каждую минуту!
Для выполнения задания каждый час (в 1:00, 2:00 и т. Д.) Используйте

0 * * * *  
dr01
источник