[PYTHON] J'ai fait un outil pour estimer le temps d'exécution de cron (+ débuts de PyPI)

C'est un outil Python que j'ai réalisé en une petite heure pour un peu de nature sauvage. Comme c'était un gros problème, je me suis inscrit à PyPI pour la première fois, je vais donc le présenter sur Qiita. Peu de gens utilisent cron en 2017, mais ...

Quel genre d'outil

Un outil qui génère du texte sur le fonctionnement du jeu Coulomb dans crontab dans le délai spécifié. Vous pouvez facilement rechercher plusieurs programmes sur plusieurs serveurs.

À l'origine, il était nécessaire de vérifier l'état de cron dans la maintenance du serveur, donc je l'ai fait rapidement.

Code source

C'est ci-dessous. (Je suis heureux quand j'ai une étoile)

Comment utiliser

Installation

pip install cronquot

Méthode d'exécution

Préparez les données crontab sous le répertoire crontab comme indiqué ci-dessous et placez la sortie du fichier par crontab -l.

$ cat crontab/batch.txt
*/30	*/10	11	*	*	/usr/local/bin/potato.sh
*/10	*/2	2	*	*	echo `date` >> /tmp/log.txt

Si vous l'exécutez comme suit, un fichier result.csv sera créé et vous pourrez le vérifier. Vous pouvez spécifier la période d'exécution avec un argument. S'il n'y a pas d'argument, ce sera de 0h00 à 24h00 aujourd'hui.

(venv)ShoheiMacBookPro:tmp shohei$ cronquot -s20170403100000 -e20170403120000
(venv)ShoheiMacBookPro:tmp shohei$ cat result.csv
date, hour, miniute, second, scrip, server
2017-04-03,10,10,00,echo `date` >> /tmp/log.txt,batch
2017-04-03,10,20,00,echo `date` >> /tmp/log.txt,batch
2017-04-03,10,30,00,/usr/local/bin/potato.sh,batch
2017-04-03,10,30,00,echo `date` >> /tmp/log.txt,batch
2017-04-03,10,40,00,echo `date` >> /tmp/log.txt,batch
2017-04-03,10,50,00,echo `date` >> /tmp/log.txt,batch
2017-04-03,11,00,00,/usr/local/bin/potato.sh,batch
2017-04-03,11,30,00,/usr/local/bin/potato.sh,batch
2017-04-03,12,00,00,/usr/local/bin/potato.sh,batch
2017-04-03,12,00,00,echo `date` >> /tmp/log.txt,batch

Si vous placez plusieurs fichiers dans le répertoire crontab, ils seront affichés ensemble. Il est également possible de voir le serveur sur une brochette. (Vous pouvez également spécifier le répertoire avec -d)

Mise en garde

Autre

C'est un outil que j'ai fait pour moi, donc je suis désolé s'il y a un bug ... Il existe de nombreux outils pour voir les résultats de l'exécution, mais je voulais quelque chose qui fonctionne rapidement à partir des commandes, alors je l'ai fait. Après tout, j'ai senti que même un simple outil ne serait pas angoissant lorsque je l'ai fait avec l'intention de le mettre correctement sur PyPI. Je pense que j'écrirai bientôt sur la façon d'utiliser PyPI.

Recommended Posts

J'ai fait un outil pour estimer le temps d'exécution de cron (+ débuts de PyPI)
J'ai créé un outil pour sauvegarder automatiquement les métadonnées de l'organisation Salesforce
J'ai fait une fonction pour vérifier le modèle de DCGAN
Je souhaite enregistrer l'heure d'exécution et conserver un journal.
J'ai créé un outil pour obtenir les liens de réponse d'OpenAI Gym en même temps
[Python3] Définition d'un décorateur qui mesure le temps d'exécution d'une fonction
J'ai fait un programme pour vérifier la taille d'un fichier avec Python
Python: je souhaite mesurer proprement le temps de traitement d'une fonction
J'ai créé une fonction pour voir le mouvement d'un tableau à deux dimensions (Python)
Paramètre pour afficher le journal de l'exécution de cron
J'ai créé un outil pour compiler nativement Hy
J'ai créé un outil pour obtenir de nouveaux articles
Un débutant en programmation a essayé de vérifier le temps d'exécution du tri, etc.
J'ai créé un outil pour informer Slack des événements Connpass et en ai fait Terraform
J'ai créé une commande appdo pour exécuter des commandes dans le contexte de l'application
J'ai créé un outil pour générer du Markdown à partir du fichier JSON Scrapbox exporté
J'ai fait un script pour enregistrer la fenêtre active en utilisant win32gui de Python
Je veux grep le résultat de l'exécution de strace
J'ai fait une commande pour marquer le clip de la table
J'ai créé un package pour filtrer les séries chronologiques avec python
J'ai créé un outil pour créer un nuage de mots à partir de wikipedia
J'ai fait une image ponctuelle de l'image d'Irasutoya. (partie 1)
J'ai fait une image ponctuelle de l'image d'Irasutoya. (partie 2)
[Titan Craft] J'ai créé un outil pour invoquer un géant sur Minecraft
Je veux créer un Dockerfile pour le moment.
J'ai créé une fonction pour découper l'image de python openCV, alors veuillez l'utiliser.
J'ai créé un outil pour générer automatiquement un simple diagramme ER à partir de l'instruction CREATE TABLE
J'ai créé un programme en Python qui change les données de 1 minute de FX en une heure arbitraire (1 heure, etc.)
J'ai essayé d'estimer la section.
J'ai essayé de faire un programme pour résoudre (indice) la recherche d'erreur de Saiseriya
J'ai essayé de créer une expression régulière de "temps" en utilisant Python
[Introduction à StyleGAN] J'ai joué avec "The Life of a Man" ♬
J'ai fait un bot mou qui m'informe de la température
J'ai essayé de créer un outil d'échafaudage pour le framework Web Python Bottle
J'ai fait une commande pour afficher un calendrier coloré dans le terminal
[Kaggle] J'ai fait une collection de problèmes en utilisant le didacticiel Titanic
J'ai créé une fonction pour vérifier si le webhook est reçu dans Lambda pour le moment
J'ai fait un calendrier qui met à jour automatiquement le calendrier de distribution de Vtuber
Depuis que j'ai commencé à travailler à des moments différents, j'ai créé un Bot qui me dit l'heure de quitter le travail
J'ai créé un outil pour parcourir automatiquement plusieurs sites avec Selenium (Python)
Début de PyPi J'ai essayé de rendre possible l'installation d'une bibliothèque pour vérifier les vacances japonaises
J'ai essayé d'estimer la similitude de l'intention de la question en utilisant Doc2Vec de gensim
[Django] a créé un champ pour saisir des dates avec des nombres à 4 chiffres
J'ai fait une minuterie de cuisine à afficher sur la barre d'état!
Générer semi-automatiquement une description du package à enregistrer dans PyPI
J'ai créé un outil CLI pour convertir les images de chaque répertoire en PDF
Je souhaite trier une liste dans l'ordre des autres listes
J'ai fait une sorte d'outil de traitement d'image simple en langage Go.
J'ai essayé de mesurer le temps d'attente de la file d'attente d'exécution d'un processus sous Linux
(Python) J'ai essayé d'analyser 1 million de mains ~ J'ai essayé d'estimer le nombre d'AA ~
J'ai essayé d'estimer le rapport de circonférence π de manière probabiliste
J'ai fait un script pour afficher des pictogrammes
J'ai fait GAN avec Keras, donc j'ai fait une vidéo du processus d'apprentissage.
J'ai créé un konoha de bibliothèque qui fait passer le tokenizer à une belle sensation
J'ai créé un outil pour convertir Jupyter py en ipynb avec VS Code
J'ai créé un outil d'estampage automatique du navigateur.
J'ai fait une erreur en récupérant la hiérarchie avec MultiIndex of pandas
J'ai essayé d'afficher la valeur d'altitude du DTM dans un graphique
J'ai essayé de vérifier le résultat du test A / B avec le test du chi carré
Je voulais utiliser le module de recherche d'Ansible2, mais cela a pris du temps, alors prenez note