Setzen Sie cron unter Ubuntu 16.04 (Sakura VPS) von 1 und führen Sie das Python-Programm regelmäßig aus

Zweck

Ich möchte regelmäßig automatisch ein Python-Programm unter Ubuntu ausführen. Ich setze cron von 1.

Umgebung

Betriebssystem: Ubuntu16.04 (Sakura VPS) python : Version 3.5

CRON-Grundeinstellungen

Betrieb 1) CRON-Betriebsprüfung </ b>

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.

Vorgang 2) Registrieren Sie den Job in der Cron-Einstellungsdatei </ b>

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.

Vorgang 3) Ändern Sie die Dateiberechtigungen </ b>

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