Nowe posty

Autor Wątek: CRON + watch: Uruchamianie skryptu PHP w nieskończoność, co chwilę.  (Przeczytany 1874 razy)

xerif

  • Gość
Napisałem skrypt, który ma za zadanie wywoływać w nieskończoność dany skrypt PHP na moim serwerze VPS.

Wywoływanie w nieskończoność daje mi komenda watch.
Komendę watch odpalam tylko wtedy, gdy skrypt index.php nie jest uruchomiony.

Oczywiście czasem może zdarzyć się, że watch zakończy swoje działanie. Na tę ewentualność poniższy skrypt odpalam co minutę za pomocą CRON'a. Niestety, nie daje to żadnego skutku — watch w ogóle się nie uruchamia.

Jeśli jednak odpalę skrypt ręcznie, wszystko działa (dopóki go nie przerwę np. kończąc sesję).

skrypt.sh:
#!/bin/sh
SERVICE='/var/www/cron'

if ps ax | grep -v grep | grep -v "You have" | grep $SERVICE
then
    echo "$SERVICE service running, everything is fine"
else
    echo "$SERVICE is not running"
    watch -n 0 /usr/bin/php /var/www/cron/index.php
    echo "$SERVICE is not running!" | mail -s "$SERVICE down" root
fi
* * * * * /home/xerif/skrypt.sh > /home/xerif/skrypt.txt
Za każdym razem zawartość pliku skrypt.txt wynosi:
Cytuj
/var/www/cron/w24 is not running
Jakich zębatek użyć, by ten zegarek ruszył?