Staram się, aby skrypt był uruchamiany dwa razy co godzinę w godzinach pracy w dni powszednie, aw konfiguracji crona mam następujące ustawienia:
\# m h dom mon dow command
8,48 8-17 * * 1-5 python ~/documents/scripts/script.py
Jednak nic nigdy nie jest wykonywane. Próbowałem różnych wariantów, ale wydaje się, że nic się nie dzieje. ręczne uruchomienie skryptu działa dobrze.
mój jedyny inny skrypt crona działa jak w zegarku:
45 5 * * * python ~/documents/scripts/rdiff.py
Ten codziennie wykonuje kopię zapasową mojego systemu na zewnętrzny dysk o 05:45.
czego mi brakuje?
script.py
?Odpowiedzi:
Twoja specyfikacja czasu crontab jest poprawna, właśnie ją zweryfikowałem:
Ponieważ drugi wpis w crontabie działa poprawnie,
python
można go znaleźć w domyślnym środowisku (ogólnie bezpieczniej jest używać pełnej ścieżki do plików wykonywalnych).Ponieważ sam skrypt działa poprawnie w terminalu, ale nie po uruchomieniu z crona, mogę jedynie stwierdzić, że problem polega na różnicy w środowisku między twoją regularną sesją interaktywną a nieinteraktywną, którą zapewnia cron.
Odpowiedzi wzdłuż tej linii (wiele z nich na kilku stronach SE) mogą pomóc w dalszym badaniu: https://serverfault.com/questions/337631/crontab-execution-doesnt-have-the-same-environment-variables-as-executing -użytkownik
źródło