Os espaços importam em um crontab

15

Não está claro para ser da página de manual do crontab. É permitido espaço em branco extra entre os campos? por exemplo, se eu tiver isso:

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

é seguro reformatá-lo assim:

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

?

BIBD
fonte
1
simples, sim é.
Scyld de Fraud

Respostas:

21

Sim, é permitido um espaço extra e você pode alinhar seus campos com facilidade para facilitar a leitura. A partir deman 5 crontab

Blank lines and leading spaces and  tabs  are  ignored.

e

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.

Para os próprios campos, as páginas de manual dizem:

The fields may be separated  by  spaces or tabs.

Isso deve ficar claro: vários espaços são permitidos.

Anthon
fonte
+1 por ter as cotações reais da página de manual que eu perdi. space "S"
BIBD 26/09/14
18

Sim Espaço em branco extra é permitido. Considerar:

#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"

Eu sempre adiciono cabeçalhos de coluna porque tenho preguiça de lembrar a ordem de todos os números, mas eis o que esse crontab produz:

Este crontab deve ecoar "Eu realmente gosto do cron" a cada minuto de cada hora de cada dia, todos os meses (todos os meses pares). Obviamente, você só faria isso se realmente gostasse do cron. O crontab também ecoará "Eu gosto um pouco do cron" às 16:30 todos os dias em janeiro e fevereiro. Ele também ecoará "Eu realmente não gosto do cron" às 3:10 do dia 1º de janeiro.

eyoung100
fonte