Mam zadanie crona, które powinno uruchamiać skrypt co 15 minut.
*/15 * * * * /path/to/script.sh
Sprawdziłem się trzy godziny później i okazało się, że skrypt nigdy nie uruchomił się ani razu.
Wcześniej próbowałem uruchomić go co pół godziny przez:
0, 30 * * * * /path/to/script.sh
z tymi samymi (brakiem) wynikami.
Tak, skrypt jest wykonywalny przeze mnie i używam własnego crontab. Jakieś pomysły?
Aktualizacja:
Oto, co próbowałem do tej pory:
- Przetestowałem crona, pisząc skrypt do echa helloworld, napisałem crontab, aby uruchamiał go co minutę i czekałem około 15 minut, dopóki nic się nie wydarzyło.
- Szukano cron.allow i cron.deny. Plik cron.allow nie istnieje, plik cron.deny istnieje, ale go nie ma.
- Poszukiwano dzienników cron zgodnie z sugestią. Nie czytaj uprawnień, napiszę, aby o nie poprosić.
crontab -l
poprawnie pokazuje pracę?Odpowiedzi:
Możesz zejść głębiej. Przede wszystkim upewnij się, że twój demon cron faktycznie działa. (W niektórych dystrybucjach domyślnie tak nie jest.)
Następnie spójrz na demona za pomocą strace . Czy rzeczywiście czyta plik?
Jeśli tak, to czy można ustawić poziom rejestrowania na debugowanie? Czy demon cron próbuje wykonać skrypt? Jeśli tak, jaki jest kod powrotu?
Jeśli nie, gdzie szuka plików cron? Czy twój użytkownik może tworzyć crontabs? Czy plik znajduje się w katalogu, w którym szuka crond?
źródło