[LINUX] Gérez les tâches cron avec python

Build Statuspypi GitHublicense

Qu'est-ce que cronpi

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

échantillon

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

Liste des fonctions

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.

Comment utiliser

① Processus à exécuter une seule fois

-Enregistrement du traitement à exécuter en précisant une date

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

② Traitement à exécuter tous les jours

・ Enregistrement du traitement à exécuter tous les jours

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

③ Processus à exécuter chaque semaine

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

④ Traitement à exécuter tous les mois

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

⑤ Traitement à exécuter chaque année

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

⑥ Traitement personnalisé

・ Inscription personnalisée

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

Supplément

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

Gérez les tâches cron avec python
Gérez l'environnement python avec virtualenv
[Package cloud] Gérez les packages python avec le package cloud
Gérez chaque version de Python avec Homebrew
FizzBuzz en Python3
Grattage avec Python
Statistiques avec python
Grattage avec Python
Exécuter le script Python avec TS-220 cron
Python avec Go
Twilio avec Python
Intégrer avec Python
Jouez avec 2016-Python
AES256 avec python
Testé avec Python
python commence par ()
avec syntaxe (Python)
Bingo avec python
Zundokokiyoshi avec python
Gérez plusieurs versions de Python avec des alternatives de mise à jour (Ubuntu)
Excel avec Python
Micro-ordinateur avec Python
Cast avec python
Exécutez régulièrement le scraping WEB avec AWS-Lambda + Python + Cron
Gérez l'environnement de plusieurs versions de Python avec Pythonz, virtualenv
Gérez bien AWS avec la bibliothèque Python Boto
Gérez plusieurs gestionnaires de contexte avec Python contextlib.
Communication série avec Python
Django 1.11 a démarré avec Python3.6
Jugement des nombres premiers avec Python
Python avec eclipse + PyDev.
Communication de socket avec Python
Analyse de données avec python 2
Grattage en Python (préparation)
Essayez de gratter avec Python.
Apprendre Python avec ChemTHEATER 03
"Orienté objet" appris avec python
Exécutez Python avec VBA
Manipuler yaml avec python
Résolvez AtCoder 167 avec python
Communication série avec python
[Python] Utiliser JSON avec Python
Apprendre Python avec ChemTHEATER 05-1
Apprenez Python avec ChemTHEATER
Exécutez prepDE.py avec python3
1.1 Premiers pas avec Python
Collecter des tweets avec Python
Binarisation avec OpenCV / Python
3. 3. Programmation IA avec Python
Méthode Kernel avec Python
Non bloquant avec Python + uWSGI
Grattage avec Python + PhantomJS
Publier des tweets avec python
Conduisez WebDriver avec python
Utiliser mecab avec Python 3
[Python] Redirection avec CGIHTTPServer
Analyse vocale par python
Pensez à yaml avec python
Utiliser Kinesis avec Python
Premiers pas avec Python
Utiliser DynamoDB avec Python