it-swarm.com.de

So führen Sie eine python - Datei mit Cron-Jobs aus

Hallo, ich habe eine python Datei erstellt, zum Beispiel als file_example.py

Die Datei gibt den Sensex-Wert aus

Angenommen, der Pfad der Datei unter Linux ist /Desktop/downloads/file_example.py

und normalerweise führe ich die Datei wie folgt aus: python file_example.py

Ich möchte jedoch einen Cron-Job festlegen, um die Datei python alle 2 Minuten auszuführen, die sich im obigen Pfad befindet

Kann mir jemand bitte mitteilen, wie das geht?

bearbeiteter Code:

Ich hatte den Code bearbeitet und ein Bash-Skript mit dem Namen test.sh wie unten angegeben erstellt

#!/bin/bash 
cd /Desktop/downloads/file_example.py
python file_example.py 2>log.txt 

Wenn ich die obige Datei ausführe, wird der folgende Fehler angezeigt:

sh-4.2$ python test.sh
  File "test.sh", line 3
    python test.py 2>log.txt 
              ^
SyntaxError: invalid syntax

Unter der Annahme, dass Sie ein Unix-Betriebssystem verwenden, würden Sie Folgendes tun.

bearbeiten Sie die Crontab-Datei mit dem Befehl

crontab -e

fügen Sie eine Zeile hinzu, die der folgenden ähnelt

*/2 * * * * /Desktop/downloads/file_example.py

dies kann verwendet werden, um andere Skripte auszuführen, indem einfach der Pfad zu dem Skript verwendet wird, der benötigt wird, d. h.

*/2 * * * * /path/to/script/to/run.sh

Eine Erklärung des Timings finden Sie weiter unten (fügen Sie einen Stern und einen Schrägstrich vor der Zahl hinzu, um alle n Timesteps, in diesem Fall alle 2 Minuten, auszuführen).

* * * * * command to be executed
- - - - -
| | | | |
| | | | ----- Day of week (0 - 7) (Sunday=0 or 7)
| | | ------- Month (1 - 12)
| | --------- Day of month (1 - 31)
| ----------- Hour (0 - 23)
------------- Minute (0 - 59)
52
olly_uk

Sie können das Python-Crontab-Modul verwenden.

https://pypi.python.org/pypi/python-crontab

So einfach erstellen Sie einen neuen Cron-Job:

from crontab import CronTab
#init cron
cron   = CronTab()

#add new cron job
job  = cron.new(command='/usr/bin/echo')

#job settings
job.hour.every(4)
28
Guray Celik