- NF.sec – Linux Security Blog - http://nfsec.pl -

Używanie znaku % w wpisach crontab

Autor: Patryk Krawaczyński Data: 26/12/2011 @ 22:33 Kategoria: Administracja | Brak komentarzy

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 [1]


Artykuł wydrukowany z NF.sec – Linux Security Blog: http://nfsec.pl

Adres do artykułu: http://nfsec.pl/root/3610

Adresy na tej stronie:

[1] crontab: http://pl.wikipedia.org/wiki/Crontab

Copyright © 2009 NFsec - Linux Security. All rights reserved. Wszystkie prawa zastrzeżone.