Czy spacje mają znaczenie w crontab

15

Nie jest jasne, aby pochodzić ze strony podręcznika crontab. Czy między polami jest dozwolona dodatkowa biała przestrzeń? np. jeśli mam to:

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

czy można bezpiecznie sformatować to tak:

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

?

BIBD
źródło
1
proste, tak jest.
Scyld de Fraud

Odpowiedzi:

21

Tak, dozwolone jest dodatkowe miejsce i możesz ładnie wyrównać pola dla czytelności. Odman 5 crontab

Blank lines and leading spaces and  tabs  are  ignored.

i

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.

W przypadku samych pól strony podręcznika mówią:

The fields may be separated  by  spaces or tabs.

To powinno być jasne: dozwolonych jest wiele spacji.

Anthon
źródło
+1 za faktyczne cytaty ze strony podręcznika, które przeoczyłem. spacja „S”
BIBD
18

Tak Dodatkowe białe znaki są dozwolone. Rozważać:

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

Zawsze dodam nagłówki kolumn, ponieważ jestem zbyt leniwy, aby zapamiętać kolejność wszystkich liczb, ale oto, co produkuje crontab:

Ten crontab powinien powtarzać „Naprawdę lubię crona” co minutę każdej godziny każdego dnia co drugi miesiąc (co miesiąc parzysty). Oczywiście zrobiłbyś to tylko, jeśli naprawdę lubisz crona. Crontab będzie także powtarzał „Lubię trochę crona” o 16:30 każdego dnia w styczniu i lutym. Powtórzy także echo „Naprawdę nie lubię crona” o 3:10 1 stycznia.

eyoung100
źródło