Имеют ли пробелы значение в crontab

15

Непонятно, как быть с manpage для crontab. Допускается ли дополнительное поле между полями? например, если у меня есть это:

1 7 * * * /scripts/foo
5 17 * * 6 /script/bar
31 6 * * 0 /scripts/bofh

это безопасно переформатировать это так:

 1  7 * * * /scripts/foo
 5 17 * * 6 /script/bar
31  6 * * 0 /scripts/bofh

?

BIBD
источник
1
просто, да, это так.
Сцилд де Мошенник

Ответы:

21

Да, дополнительное пространство разрешено, и вы можете аккуратно выстроить свои поля для удобства чтения. Изman 5 crontab

Blank lines and leading spaces and  tabs  are  ignored.

и

An environment setting is of the form,

   name = value

where the spaces around the equal-sign (=) are optional, and any  sub‐
sequent non-leading spaces in value will be part of the value assigned
to name.

Для самих полей на страницах руководства написано:

The fields may be separated  by  spaces or tabs.

Это должно быть ясно: допускается несколько пробелов.

Энтон
источник
+1 за фактические цитаты из справочной страницы, которые я пропустил. пробел "S"
BIBD
18

Да. Дополнительные пробелы разрешены. Рассмотреть возможность:

#Mins  Hours  Days   Months  Day of the week
10     3      1      1       *       /bin/echo "I don't really like cron"
30     16     *      1,2     *       /bin/echo "I like cron a little"
*      *      *      1-12/2  *       /bin/echo "I really like cron"

Я всегда добавляю заголовки столбцов, потому что мне лень помнить порядок всех чисел, но вот что производит этот crontab:

Этот crontab должен повторять «Мне действительно нравится cron» каждую минуту каждого часа каждого дня через месяц (каждый четный месяц). Очевидно, вы бы сделали это, только если вам действительно понравился cron. Crontab также будет повторять «Мне немного нравится cron» в 16:30 каждый день в январе и феврале. Это также будет звучать так: «Мне не очень нравится cron» в 3:10 1 января.

eyoung100
источник