Istnieją dwa sposoby utwórz crontab - na użytkownika lub globalnie. Dla globalnej (crontab/etc/crontab) określenie użytkownika, jak za:
# m h dom mon dow user command
17 * * * * root cd/&& run-parts --report /etc/cron.hourly
dla użytkownika crontaby nie, jak za:
[email protected]:~$ crontab -l
0 * * * * /home/aj/bin/update-foobar
Aby uzyskać skrypt python działa poprzez #!notacja, po prostu zrobić skrypt wykonywalny (chmod 755 /root/test.py) i wywołać ją bezpośrednio, coś takiego:
/root/test.py
Jeśli nie chcesz tego zrobić, można uruchomić go za pośrednictwem pyton tłumacza ręcznie, jak:
/usr/bin/python /root/test.py
zakłada dowolny użytkownik używasz jako (tj użytkownika w pliku/etc/crontab lub użytkownik, którego używasz crontab -e AS) ma pozwolenie, aby zobaczyć skrypt python -/root może być niedostępny dla zwykłych użytkowników, np.
można uzyskać dobry pomysł, czy skrypt jest wykonywany w ogóle, dodając:
import time
time.sleep(20) # pause for 20 seconds
a następnie sprawdzenie z „góry” lub „ps aux” lub „pstree”, aby zobaczyć, czy python jest właściwie bieganie.
0 1 * * */home/me/myscript jest wymieniony jako poprawny wpis crontab – ojblass
Czy możesz podać nam wynik "whence root", "który root" i "find/-name root 2>/dev /zero"? Debian nie pozwala na określenie użytkownika w crontabie, więc musimy założyć, że root to polecenie, które jest wywoływane (zobacz moją odpowiedź). – paxdiablo
Będziesz musiał opuścić sekcję użytkownika. Raczej su -, edytuj crontab jako root, pomijając nazwę użytkownika i zostanie wykonany pod tym użytkownikiem. –