Après m'être demandé si le processus crontab pouvait être géré plus facilement, j'ai décidé de créer un package en Python. Je voulais vraiment l'appeler "cronpy", mais je l'ai changé en "cronpi" parce que quelqu'un d'autre l'avait déjà enregistré. cronpi est un package qui enregistre les processus qui sont régulièrement exécutés sur un ordinateur personnel UNIX (linux / mac) dans crontab. Cela fonctionne avec Python 2 et 3.
Il rend le traitement crontab ** plus facile à lire **.
Installation
pip install cronpi
sample.py
#Importation de package
import cronpi
#Enregistrez le processus à exécuter tous les jours à 17h30
cronpi.run_every_day("/opt/backup.sh").on("5:30pm")
cronpi a les fonctions suivantes.
SN | Nom de la fonction | La description |
---|---|---|
1. | run_by_date | Date AAAA-MM-DD HH:Traitement qui peut être exécuté en spécifiant mm |
2. | run_every_day | HH:Traitement qui peut être effectué tous les jours en spécifiant l'heure en mm |
3. | run_every_week | Traitement pouvant être exécuté en spécifiant le nom du jour |
4. | run_every_month | Traitement pouvant être exécuté en précisant une date |
5. | run_every_year | Traitement exécutable en précisant le nom et le jour du mois |
6. | run_custom | "crontab -e"Traitement qui peut être exécuté en spécifiant le contenu d'une ligne à saisir dans |
La fonction ci-dessus accepte deux arguments. cronpi.XXXX(<command>, <isOverwrite=bool>?)
parameter | type | description |
---|---|---|
command | string | Commandes à exécuter régulièrement |
isOverwrite | bool | Si faux, ajoutez toujours un nouveau travail. La valeur par défaut est False |
Si la commande avec le premier argument existe déjà dans le travail et que le deuxième argument est isOverwrite = True, remplacez le contenu existant par le nouveau contenu au lieu du nouveau travail.
-Enregistrement du traitement à exécuter en précisant une date
cronpi.run_by_date("/some/command").on("2020-10-20 5:30pm")
・ Enregistrement du traitement à exécuter tous les jours
cronpi.run_every_day("/some/command").on("5:30pm")
-Enregistrement du traitement à exécuter un jour spécifique chaque semaine
cronpi.run_every_week("/some/command").on("sunday", time="17:30")
・ Plusieurs jours peuvent être spécifiés
cronpi.run_every_week("/some/command").on(["sat", "sun"], time="5:30PM")
・ Enregistrement du traitement à exécuter chaque mois
cronpi.run_every_month("/some/command").on(10, time="17:30")
・ Plusieurs jours peuvent être spécifiés
cronpi.run_every_month("/some/command").on([10,20], time="17:30")
-Enregistrement du traitement à exécuter dans un mois spécifique
cronpi.run_every_year("/some/command").on("january", day=10, time="5:30am")
・ L'inscription pour plusieurs mois est possible
cronpi.run_every_year("/some/command").on(["jan", "oct"], day=10, time="5:30")
・ Inscription personnalisée
cronpi.run_custom("* * * * * /some/command")
Vous pouvez obtenir la liste des travaux en cours sous forme de liste en utilisant la fonction "get_job_list".
cronpi.get_job_list()
Recommended Posts