Mon outil open source préféré pour utiliser crontab

L’automatisation est un sujet brûlant en ce moment. Dans mon travail quotidien d’ingénieur en fiabilité de site (SRE), une partie de ma mission consiste à automatiser autant de tâches répétitives que possible. Mais combien d’entre eux font cela dans nos vies quotidiennes, sans travail ? Cette année, je me concentre sur l’automatisation du labeur afin que nous puissions nous concentrer sur les choses importantes.
L’une des premières choses que j’ai apprises en tant qu’administrateur système débutant était cron
. Cron est largement utilisé pour effectuer des opérations telles que la rotation des journaux, le démarrage et l’arrêt des services, l’exécution de tâches utilitaires, etc. Il est disponible sur presque tous les systèmes Unix et Linux, et c’est quelque chose que tous les administrateurs système que je connais utilisent pour aider à gérer les services et les serveurs. Cron peut exécuter automatiquement n’importe quelle application console ou script, ce qui le rend très, très flexible.
(Kevin Sonney, CC BY-SA 4.0)
J’ai utilisé cron pour récupérer des e-mails, exécuter des programmes de filtrage, m’assurer qu’un service est en cours d’exécution, interagir avec des jeux en ligne comme Habitica, et bien plus encore.
Utiliser cron de manière traditionnelle
Pour commencer avec cron, vous pouvez simplement taper crontab -e
à la ligne de commande pour ouvrir un éditeur avec le courant crontab
(ou “table cron”) pour vous-même (si vous le faites en tant que root, vous obtenez la crontab système). C’est là que le calendrier des tâches est conservé, ainsi que le moment où exécuter les choses. David Both a beaucoup écrit sur le format du fichier et sur la façon de l’utiliser, donc je ne vais pas en parler ici. Ce que je vais dire, c’est que pour les nouveaux utilisateurs, cela peut être un peu effrayant, et la mise en place du timing est un peu pénible.
Présentation de crontab-ui
Il existe des outils fantastiques pour vous aider. Mon préféré est crontab-ui, une interface Web écrite en Node.js qui permet de gérer le fichier crontab. Pour installer et démarrer crontab-ui
pour un usage personnel, j’ai utilisé les commandes suivantes.
# Make a backup
crontab -l > $HOME/crontab-backup
# Install Crontab UI
npm install -g crontab-ui
# Make a local database directory
mkdir $HOME/crontab-ui
# Start crontab-ui
CRON_DB_PATH=$HOME/crontab-ui crontab-ui
Une fois cela fait, pointez simplement votre navigateur Web sur http://localhost:8000
et vous obtiendrez l’interface Web crontab-ui. La première chose à faire est de cliquer sur “Get from Crontab” pour charger tous les travaux existants que vous pourriez avoir. Puis clique Sauvegarde afin que vous puissiez annuler toutes les modifications que vous apportez à partir de maintenant.
(Kevin Sonney, CC BY-SA 4.0)
L’ajout et la modification de tâches cron sont très simples. Ajoutez un nom, la commande complète que vous souhaitez exécuter et l’heure (en utilisant la syntaxe cron), puis enregistrez. En prime, vous pouvez également capturer des journaux et configurer l’envoi de l’état du travail à l’adresse e-mail de votre choix.
Lorsque vous avez terminé, cliquez sur Enregistrer dans Crontab.
Personnellement, j’aime beaucoup la fonction de journalisation. Avec crontab-ui, vous pouvez afficher les journaux en un clic, ce qui est utile lors du dépannage.
Une chose que je recommande est de ne pas exécuter crontab-ui tout le temps, du moins pas publiquement. Bien qu’il ait des capacités d’authentification de base, il ne devrait vraiment pas être exposé en dehors de votre machine locale. Je n’ai plus besoin de modifier fréquemment mes tâches cron, donc je les démarre et les arrête à la demande.
Essayez crontab-ui la prochaine fois que vous aurez besoin de modifier votre crontab !