Nachdem ich mich gefragt hatte, ob der Crontab-Prozess einfacher verwaltet werden kann, entschied ich mich, ein Paket in Python zu erstellen. Ich wollte es wirklich "cronpy" nennen, aber ich habe es in "cronpi" geändert, weil es bereits von jemand anderem registriert wurde. cronpi ist ein Paket, das die Prozesse registriert, die regelmäßig auf einem UNIX-basierten Personal Computer (Linux / Mac) in Crontab ausgeführt werden. Es funktioniert mit Python 2 und 3.
Es macht die Crontab-Verarbeitung ** leichter lesbar **.
Installation
pip install cronpi
sample.py
#Paketimport
import cronpi
#Registrieren Sie den Prozess, der jeden Tag um 17:30 Uhr ausgeführt werden soll
cronpi.run_every_day("/opt/backup.sh").on("5:30pm")
cronpi hat folgende Funktionen.
SN | Funktionsname | Erläuterung |
---|---|---|
1. | run_by_date | Datum JJJJ-MM-DD HH:Verarbeitung, die durch Angabe von mm ausgeführt werden kann |
2. | run_every_day | HH:Die Verarbeitung kann jeden Tag durch Angabe der Zeit in mm erfolgen |
3. | run_every_week | Verarbeitung, die durch Angabe des Tagesnamens ausgeführt werden kann |
4. | run_every_month | Verarbeitung, die durch Angabe eines Datums ausgeführt werden kann |
5. | run_every_year | Verarbeitung, die durch Angabe des Namens und des Tages des Monats ausgeführt werden kann |
6. | run_custom | "crontab -e"Verarbeitung, die ausgeführt werden kann, indem der Inhalt einer einzugebenden Zeile angegeben wird |
Die obige Funktion akzeptiert zwei Argumente. cronpi.XXXX(<command>, <isOverwrite=bool>?)
parameter | type | description |
---|---|---|
command | string | Befehle, die regelmäßig ausgeführt werden müssen |
isOverwrite | bool | Wenn false, fügen Sie immer einen neuen Job hinzu. Standard ist False |
Wenn der Befehl mit dem ersten Argument bereits im Job vorhanden ist und das zweite Argument isOverwrite = True lautet, ersetzen Sie den vorhandenen Inhalt durch den neuen Inhalt anstelle des neuen Jobs.
-Registrierung der auszuführenden Verarbeitung durch Angabe eines Datums
cronpi.run_by_date("/some/command").on("2020-10-20 5:30pm")
・ Registrierung der täglich auszuführenden Verarbeitung
cronpi.run_every_day("/some/command").on("5:30pm")
-Registrierung der Verarbeitung, die jede Woche an einem bestimmten Tag ausgeführt werden soll
cronpi.run_every_week("/some/command").on("sunday", time="17:30")
・ Es können mehrere Tage angegeben werden
cronpi.run_every_week("/some/command").on(["sat", "sun"], time="5:30PM")
・ Registrierung der Verarbeitung, die jeden Monat ausgeführt werden soll
cronpi.run_every_month("/some/command").on(10, time="17:30")
・ Es können mehrere Tage angegeben werden
cronpi.run_every_month("/some/command").on([10,20], time="17:30")
-Registrierung der Verarbeitung, die in einem bestimmten Monat ausgeführt werden soll
cronpi.run_every_year("/some/command").on("january", day=10, time="5:30am")
・ Eine Anmeldung für mehrere Monate ist möglich
cronpi.run_every_year("/some/command").on(["jan", "oct"], day=10, time="5:30")
・ Benutzerdefinierte Registrierung
cronpi.run_custom("* * * * * /some/command")
Mit der Funktion "get_job_list" können Sie die Liste der aktuellen Jobs als Liste abrufen.
cronpi.get_job_list()
Recommended Posts