- 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
Kliknij tutaj by wydrukować.
Copyright © 2009 NFsec - Linux Security. All rights reserved. Wszystkie prawa zastrzeżone.