Wie zum ausführen von python-Skripts im Zeitplan?
Habe ich zwei Python scripts
auf meinem Rechner, die ich ausgeführt werden soll zwei mal täglich auf bestimmte Zeiträume. Wie kann ich diese Aufgabe automatisieren? Da ich von zu Hause Weg und damit meinen computer für eine Weile, ich will laden Sie Sie auf eine Website und werden von dort ausgeführt werden automatische, ohne dass ich etwas Tue.
Wie kann ich dies tun?
- Welches Betriebssystem verwendest du?
- Wie wäre
cron
, wenn Sie auf einem Linux-oder Mac-Maschine? - cron für linux oder mac, Windows-task schedular für Windows
- Mac os, aber ich brauche eine web-basierte Lösung, da mein Rechner nicht 24/7 läuft
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie
cron
für diese, wenn Sie auf einer Linux-Maschine. Cron ist ein system-daemon verwendet, um die Ausführung bestimmter Aufgaben zu bestimmten Zeiten.cron
arbeitet nach dem Prinzip dercrontab
eine text-Datei mit einer Liste von Befehlen, die zu bestimmten Zeiten. Es folgt einem bestimmten format, die detailliert inman 5 crontab
Format für crontab
Jeder der Abschnitte ist durch ein Leerzeichen getrennt, wobei der Letzte Abschnitt mit einem oder mehreren Leerzeichen. Leerzeichen sind nicht erlaubt in den Abschnitten 1-5, nur zwischen Ihnen. Abschnitte 1-5 werden verwendet, um anzugeben, Wann und wie oft die Aufgabe ausgeführt werden soll. Dies ist, wie ein cron-job angelegt:
minute (0-59), Stunde (0-23, 0 = Mitternacht), Tag (1-31), Monat (1-12), Wochentag (0-6, 0 = Sonntag), Befehl
01 04 1 1 1 /usr/bin/somedirectory/somecommand
Obigen Beispiel wird ausgeführt /usr/bin/somedirectory/somecommand auf 4:01am am 1. Januar plus jeden Montag im Januar. Ein Sternchen (*) verwendet werden, so dass jeder Fall (jede Stunde, jeden Wochentag, jeden Monat, usw.) der Zeitraum verwendet wird. Code:
01 04 * * * /usr/bin/somedirectory/somecommand
Obigen Beispiel wird ausgeführt /usr/bin/somedirectory/somecommand auf 4:01am auf jeden Tag des Monats.
Komma-getrennten Werte können verwendet werden, um mehr als eine Instanz eines bestimmten Befehl, innerhalb einer Frist. Bindestrich getrennte Werte können verwendet werden, um einen Befehl auszuführen kontinuierlich. Code:
01,31 04,05 1-15 1,6 * /usr/bin/somedirectory/somecommand
Obigen Beispiel ausgeführt wird
/usr/bin/somedirectory/somecommand
bei 01 und 31 vorbei an den Stunden 4:00 und 5:00 Uhr auf den 1. durch den 15-TEN jedes Jahr im Januar und Juni."/Usr/bin/somedirectory/somecommand" text in den obigen Beispielen gibt die Aufgabe, die ausgeführt werden, zu den angegebenen Zeiten. Es wird empfohlen, dass Sie den vollständigen Pfad verwenden, um die gewünschten Befehle, wie gezeigt in den Beispielen oben. Geben Sie
which somecommand
in das terminal zu finden, die den vollständigen Pfad somecommand. Die crontab wird ausgeführt, sobald es richtig ist, bearbeitet und gespeichert werden.Möchten Sie vielleicht ein Skript ausführen, die eine Anzahl von malen pro Zeiteinheit. Zum Beispiel, wenn Sie möchten, führen Sie es alle 10 Minuten verwenden Sie die folgenden crontab-Eintrag (läuft auf Minuten teilbar durch 10: 0, 10, 20, 30, etc.)
*/10 * * * * /usr/bin/somedirectory/somecommand
dem entspricht auch die umständlich
0,10,20,30,40,50 * * * * /usr/bin/somedirectory/somecommand
In Windows ich habe mit beiden Lösungen.
Erste Möglichkeit: Erstellen Sie eine .bat-Datei.
Schritt 1
Erstellen .bat-Datei, um anzuzeigen, den Befehl, den Sie ausführen möchten, und die Skript-Datei ausgeführt werden, zum Beispiel:
Schritt 2
Öffnen Sie den Taskplaner und klicken Sie auf den Task Scheduler Bibliothek, um die aktuellen Aufgaben, die ausgeführt werden. Klicken Sie auf den "Create Task".
Schritt 3
In der Registerkarte allgemein legen Sie den Namen der neuen Aufgabe ein und klicken Sie auf die option
Run whether user is logged on or not
aktivieren Sie die optionRun with highest privileges
und stellen Sie sicher, dass setup die entsprechende version für Ihr Betriebssystem (in meinem Fall wählte ichWindows 7, Windows Server 2008 R2
.Schritt 4
In der Registerkarte Aktionen, klicken Sie auf die Schaltfläche Neu, und geben Sie Folgendes ein:
In Programm/Scripts müssen Sie sich für die Powershell-Pfad, der der Task-Scheduler wird aufgerufen, zu führen .bat-Datei. In meinem Fall, mein Powershell-Pfad war:
C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
In Argumente Hinzufügen (optional) müssen Sie geben Sie den Pfad der Datei, die ausgeführt wird, indem Sie Powershell. In meinem Fall, war der Weg:
C:\Users\userX\Desktop\run_the_bat_file.bat
In Starten in (optional) müssen Sie geben Sie den Pfad der Datei, aber ohne den Namen der .bat-Datei:
C:\Users\userX\Desktop\
Schritt 5
Klicken Sie auf die Registerkarte Trigger, und wählen Sie, wie oft Sie möchten, um diese Aufgabe auszuführen.
Schritt 6
Schließlich testen Sie Ihre Aufgabe, um zu sehen, ob es wirklich funktioniert, indem Sie es aus der Task-Scheduler-Bibliothek und tun, klicken Sie auf die option Ausführen.
Zweite option: Führen Sie die .py Datei mit der Taskplaner -
Schritt 1
Öffnen Sie den Taskplaner und klicken Sie auf den Task Scheduler Bibliothek, um die aktuellen Aufgaben, die ausgeführt werden. Klicken Sie auf den "Create Task".
Schritt 2
In der Registerkarte allgemein legen Sie den Namen der neuen Aufgabe ein und klicken Sie auf die option
Run whether user is logged on or not
aktivieren Sie die optionRun with highest privileges
und stellen Sie sicher, dass setup die entsprechende version für Ihr Betriebssystem (in meinem Fall wählte ichWindows 7, Windows Server 2008 R2
.Schritt 3
In der Registerkarte Aktionen, klicken Sie auf die Schaltfläche Neu, und geben Sie Folgendes ein:
In Programm/Scripts Sie brauchen, um sich für die Python.exe Weg, den Task Scheduler aufrufen, um führen Sie das python-Skript. In meinem Fall, mein Python.exe Pfad war:
C:\Users\userX\python.exe
In Argumente Hinzufügen (optional) müssen Sie nur geben Sie den Namen Ihres python-Skript. In meinem Fall, war der Weg:
Permissions_dump.py
In Starten in (optional) müssen Sie geben Sie den Pfad der Datei, aber ohne die Namen der python-Skript, das ist:
C:\Users\userX\PycharmProjects\1099_vendors_costs
Schritt 4
Klicken Sie auf die Registerkarte Trigger, und wählen Sie, wie oft Sie möchten, um diese Aufgabe auszuführen.
Schritt 5
Schließlich testen Sie Ihre Aufgabe, um zu sehen, ob es wirklich funktioniert, indem Sie es aus der Task-Scheduler-Bibliothek und tun, klicken Sie auf die option Ausführen.
Zusätzliche alternative, (falls Sie konvertieren .py ein .exe)
Wenn Sie die Bibliothek verwenden Cx_Freeze zu konvertieren .py ein .exe-Datei, die Sie möchten, verwenden Sie den task-scheduler, um die Aufgabe zu automatisieren, dann müssen Sie diesen Schritten Folgen:
Schritt 1
Klicken Sie auf Aufgabe Erstellen, und klicken Sie dann auf die Registerkarte "Aktionen", um Typ in den folgenden:
In Programm/Scripts Sie brauchen, um sich für die
C:\Windows\explorer.exe
Weg, dass der Task-Scheduler wird aufgerufen, zu führen .exe-Skript.In Argumente Hinzufügen (optional) müssen Sie nur geben Sie den Namen Ihres .exe-Datei:
CustomerPopulation.exe
In Starten in (optional) müssen Sie geben Sie den Pfad der Datei, aber ohne den Namen der .exe-Datei:
C:\Users\userX\PycharmProjects\executables
Referenzen:
Wenn Sie mit OSX dann launchd ist der bevorzugte Weg, um tasks zu planen. Es ist ein OSX CLI für launchd aufgerufen launchctl aber wenn du lieber eine GUI, meine bevorzugte ist launchcontrol.