Os espaços importam em um crontab

11

Não está claro ser da manpage para crontab. IS espaço em branco extra permitido entre os campos? por exemplo, se eu tiver isso:

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

é seguro reformatar bem assim:

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

?

    
por BIBD 25.09.2014 / 21:13

2 respostas

16

Sim, o espaço extra é permitido e você pode alinhar bem seus campos para facilitar a leitura. De man 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 campos em si, as man pages dizem:

The fields may be separated  by  spaces or tabs.

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

    
por 25.09.2014 / 21:23
15

Sim Espaços em branco extras são permitidos. Considere:

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

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

This crontab should echo "I really like cron" every minute of every hour of every day every other month(Every Even month). Obviously you would only do that if you really liked cron. The crontab will also echo "I like cron a little" at 16:30 every day in January and February. It will also echo "I don't really like cron" at 3:10 on the January 1st.

    
por 25.09.2014 / 21:24

Tags