Ich möchte regelmäßig automatisch ein Python-Programm unter Ubuntu ausführen. Ich setze cron von 1.
Betriebssystem: Ubuntu16.04 (Sakura VPS) python : Version 3.5
sudo service cron status
Es werden verschiedene CRON-Status angezeigt. Wenn "Aktiv: Aktiv (läuft)" angezeigt wird, sollte dies in Ordnung sein.
Wenn es nicht funktioniert
service crond start
Beginnen mit.
crontab, eine Cron-Konfigurationsdatei, kann mit dem folgenden Befehl ausgeführt werden.
crontab -e
Wenn Sie jedoch versehentlich r neben e auf der Tastatur drücken, initialisiert "crontab -r" alle crontab-Einstellungen, sodass es gefährlich ist, "crontab -e" häufig zu verwenden.
Es gibt mehrere Möglichkeiten, die Verwendung von crontab -e zu vermeiden. Ich befolge jedoch die folgenden Schritte, um ein Backup zu erstellen und es separat zu bearbeiten.
crontab -l > ~/crontab #Backup
vim ~/crontab #Backup bearbeiten
crontab < ~/crontab #Überschreiben Sie den Hauptteil
Details zum Schreiben von Crontab finden Sie auf anderen Websites. Es ist daher eine gute Idee, darauf zu verweisen. Zum Beispiel war hier leicht zu verstehen.
Wenn Sie ein Python-Programm ausführen, müssen Sie den Pfad schreiben, in dem Python vor dem Programm gespeichert ist.
Wenn Sie beispielsweise test.py jede Minute ausführen möchten,
* * * * * /<path_to_python>/python3 /<path_to_file>/test.py
Es wird sein.
Wenn Sie den Pfad zu Python nicht kennen
which python3
Sie können unter herausfinden.
Wenn Sie das Protokoll ausgeben möchten,
* * * * * <path_to_python>/python3 /<path_to_file/test.py >> /<path_to_log>/test.log 2>>&1
Wird in Ordnung sein.
Grundsätzlich sind die Einstellungen bis Operation 2 in Ordnung, aber in meinem Fall wurde der Fehler "Berechtigung verweigert" angezeigt. Da die Ausführungsberechtigung von CRON root ist und der Eigentümer der Datei ein anderer Benutzer ist, gibt es aufgrund der Berechtigungseinstellung keine Berechtigung.
Ändern Sie es vorerst in "Eigentümer: root, Berechtigung 700".
chmod 700 test.py
chown root:root test.py
Jetzt wird test.py automatisch regelmäßig ausgeführt.
Recommended Posts