NFsec Logo

Używanie znaku % w wpisach crontab

26/12/2011 w Administracja Brak komentarzy.  (artykuł nr 336, ilość słów: 153)

Z

nak procentu [ % ] w wpisach crontab jest specjalnym znakiem oznaczającym znak nowej linii. Dlatego każdy wpis z tym znakiem nie zadziała – dopóki nie umieścimy znaku ESC [ \ ] przed nim. Na przykład poniższy wpis:

1 0 * * * /bin/sleep `/usr/bin/expr $RANDOM % 600` ; /usr/local/bin/komenda

którego zamiarem jest cogodzinne uruchamianie z losowym opóźnieniem wybranej komendy zostanie – zignorowane ze względu na fakt, że cron zaraz po znaku % zignoruje resztę wpisu i uruchomi jedynie: /bin/sleep `/usr/bin/expr $RANDOM, co zwróci losową liczbę z zakresu 0-32767 i opuści program.

W celu poprawnego uruchomienia całego polecenia należy “wyescejpować” znak %:

1 0 * * * /bin/sleep `/usr/bin/expr $RANDOM \% 600` ; /usr/local/bin/komenda

Jest to jeden z często spotykanych problemów w przypadku wpisywania do crontab’a poleceń zawierających komendę date przyjmującą format daty z znakami % np. date +%d-%m-%Y (który powinien w crontabie przyjąć formę: +\%d-\%m-\%Y).

Więcej informacji: crontab

Kategorie K a t e g o r i e : Administracja

Tagi T a g i : , ,

Komentowanie tego wpisu jest zablokowane.