[LINUX] Verwalten Sie Cron-Jobs mit Python

Build Statuspypi GitHublicense

Was ist Cronpi?

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

Stichprobe

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")

Funktionsliste

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.

Wie benutzt man

① Prozess nur einmal auszuführen

-Registrierung der auszuführenden Verarbeitung durch Angabe eines Datums

cronpi.run_by_date("/some/command").on("2020-10-20 5:30pm")

② Die Verarbeitung muss täglich ausgeführt werden

・ Registrierung der täglich auszuführenden Verarbeitung

cronpi.run_every_day("/some/command").on("5:30pm")

③ Prozess, der jede Woche ausgeführt wird

-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")

④ Die Verarbeitung muss jeden Monat ausgeführt werden

・ 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")

⑤ Die Verarbeitung muss jedes Jahr ausgeführt werden

-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 Verarbeitung

・ Benutzerdefinierte Registrierung

cronpi.run_custom("* * * * * /some/command")

Ergänzung

Mit der Funktion "get_job_list" können Sie die Liste der aktuellen Jobs als Liste abrufen.

cronpi.get_job_list()

Recommended Posts

Verwalten Sie Cron-Jobs mit Python
Verwalten Sie die Python-Umgebung mit virtualenv
[Paketwolke] Verwalten Sie Python-Pakete mit der Paketwolke
Verwalten Sie jede Python-Version mit Homebrew
FizzBuzz in Python3
Scraping mit Python
Statistik mit Python
Scraping mit Python
Führen Sie das Python-Skript mit TS-220 cron aus
Python mit Go
Twilio mit Python
In Python integrieren
Spielen Sie mit 2016-Python
AES256 mit Python
Getestet mit Python
Python beginnt mit ()
mit Syntax (Python)
Bingo mit Python
Zundokokiyoshi mit Python
Verwalten Sie mehrere Python-Versionen mit Update-Alternativen (Ubuntu)
Excel mit Python
Mikrocomputer mit Python
Mit Python besetzen
Führen Sie das WEB-Scraping regelmäßig mit AWS-Lambda + Python + Cron aus
Verwalten Sie die Python-Umgebung mit mehreren Versionen mit Pythonz, virtualenv
Verwalten Sie AWS mit der Python-Bibliothek Boto
Verwalten Sie mehrere Kontextmanager zusammen mit Python contextlib.ExitStack
Serielle Kommunikation mit Python
Django 1.11 wurde mit Python3.6 gestartet
Primzahlbeurteilung mit Python
Python mit Eclipse + PyDev.
Socket-Kommunikation mit Python
Datenanalyse mit Python 2
Scraping in Python (Vorbereitung)
Versuchen Sie es mit Python.
Python lernen mit ChemTHEATER 03
"Objektorientiert" mit Python gelernt
Führen Sie Python mit VBA aus
Umgang mit Yaml mit Python
Löse AtCoder 167 mit Python
Serielle Kommunikation mit Python
[Python] Verwenden Sie JSON mit Python
Python lernen mit ChemTHEATER 05-1
Lerne Python mit ChemTHEATER
Führen Sie prepDE.py mit python3 aus
1.1 Erste Schritte mit Python
Tweets mit Python sammeln
Binarisierung mit OpenCV / Python
3. 3. KI-Programmierung mit Python
Kernel-Methode mit Python
Nicht blockierend mit Python + uWSGI
Scraping mit Python + PhantomJS
Tweets mit Python posten
Fahren Sie WebDriver mit Python
Verwenden Sie Mecab mit Python 3
[Python] Mit CGIHTTPServer umleiten
Sprachanalyse mit Python
Denken Sie an Yaml mit Python
Kinesis mit Python betreiben
Erste Schritte mit Python
Verwenden Sie DynamoDB mit Python