Mam plik crontab, który wygląda następująco:
* * * * * /home/abliskovs/update/update.sh
Jednak gdy sprawdzam syslog pod kątem dowodów, że zadanie zostało uruchomione, nic nie wskazuje na to, że zostało ono uruchomione. Jak mogę sprawdzić, czy działa?
crontab -l
wyprowadza następujące:
* * * * * /home/abliskovs/update/update.sh
Odpowiedzi:
Przykład
Upewnij się także, że:
sudo /etc/init.d/cron restart
Jak zrobić plik wykonywalny?
Kilka sposobów na wykonanie pliku
źródło
Upewnij się, że plik skryptu jest wykonywalny {chmod 755}, w przeciwnym razie go nie uruchomi
źródło
chmod +x filename
Skrypt powłoki
update.sh
prawdopodobnie zawiera błędy, na przykład niektóre polecenia, których nie można wykonać, ponieważ polecenia nie można znaleźć. W takim przypadku pomocne może być dodanie ścieżki do polecenia w zmiennej PATH lub dodanie go bezpośrednio przed poleceniem. Pomaga również określić adres e-mail MAILTO, e-maile powstałe w wyniku wykonania Cronjobs są wysyłane na ten adresMożesz także sprawdzić lokalną skrzynkę pocztową
mail
i plik syslog pod/var/log/syslog
kątem błędów. Zobacz także pokrewne pytanie, dlaczego cronjobs może nie działać .źródło
Wystąpił ten sam problem, a przyczyną było to, że crontab nie był uruchomiony, ponieważ nie miał na to pozwolenia. Zmieniłem plik i umieściłem go w /tmpt/output.log
Daj mi znać, jeśli to Ci odpowiada.
źródło