Home » Sciences et technologies » Linux : comment utiliser Cron pour planifier des tâches régulières

Linux : comment utiliser Cron pour planifier des tâches régulières

by Nouvelles

Lorsque vous utilisez Linux, vous avez tout à votre disposition pour créer un environnement puissant, flexible et automatisé quel que soit le but dont vous avez besoin.

L’un des outils disponibles pour l’automatisation s’appelle Cron. Avec Cron, vous pouvez planifier à peu près n’importe quel type de tâche sous Linux. Par exemple, vous pouvez écrire un script bash pour sauvegarder des répertoires spécifiques sur un lecteur externe. Si vous souhaitez que ce script de sauvegarde s’exécute automatiquement, vous devez créer ce qu’on appelle une tâche cron, afin qu’il s’exécute exactement quand vous le souhaitez.

Cron est installé par défaut sur presque toutes les distributions Linux, vous n’avez donc rien à ajouter pour automatiser les tâches.

Mais comment Cron est-il utilisé ? Je suis là pour vous montrer.

Comment fonctionne Cron ?

Cron dépend des fichiers crontab, qui sont enregistrés dans /var/spool/cron. Il est cependant très important de comprendre que vous ne modifiez pas ces fichiers manuellement. Pourquoi? Parce que Cron dispose d’un outil que vous pouvez utiliser pour modifier vos fichiers crontab.

Ce qui amène un autre point. Chaque utilisateur d’un système Linux possède ses propres fichiers crontab. N’importe quel utilisateur peut créer des fichiers crontab et même afficher ses tâches cron en cours avec la commande :

La sortie de cette commande affichera le contenu de votre fichier crontab qui contiendra toutes les tâches cron personnalisées que vous avez créées.

La seule chose qui fait trébucher la plupart des gens à propos de Cron est le format de timing. Avec Cron, il y a cinq entrées pour l’heure et la date, qui sont :

  • Minutes (0-59)
  • Heures (0-23)
  • Jour du mois (1-31)
  • Mois (1-12)
  • Jour de la semaine (0-6, bien que vous puissiez utiliser dimanche, lundi, mardi, etc., et le dimanche peut être représenté par 0, 7 ou dimanche)

Le format heure/date est configuré comme suit :

MHD LUN DW

Où M correspond aux minutes, H à l’heure, Day au jour du mois, MO au mois et DW au jour de la semaine.

Par exemple, si vous avez créé un script de sauvegarde et que vous souhaitez qu’il s’exécute tous les dimanches à 23h00, le format heure/date serait :

Chaque fois que Cron voit un astérisque, il sait que vous souhaitez qu’il s’exécute à chaque instance de cette entrée d’heure/date. Dans l’exemple ci-dessus, les entrées Jour du mois et Mois comportent des astérisques, ce qui signifie qu’elles seront exécutées chaque jour du mois et chaque mois.

Si vous souhaitez que cette tâche s’exécute tous les samedis à 23h59, l’entrée serait :

Ou vous pourriez l’énoncer ainsi :

Ajouter une tâche Cron

Créons un script de sauvegarde, puis créons une tâche cron pour qu’elle s’exécute tous les dimanches à 23 heures.

Notre script de sauvegarde ressemble à ceci :

#!/bin/bash # Ce que vous souhaitez sauvegarder. backup_files=”/home/$USER/Documents” # Où vous souhaitez effectuer la sauvegarde. dest=”/backup” # Crée un nom de fichier d’archive. day=$(date +%A) hostname=$(hostname -s) archive_file=”$hostname-$day.tgz” # Sauvegardez les fichiers à l’aide de tar. tar czf $dest/$archive_file $backup_files

#!/bin/bash

# Ce que vous souhaitez sauvegarder.

backup_files=”/home/$USER/Documents”

# Où vous souhaitez sauvegarder.

dest=”/sauvegarde”

# Créez un nom de fichier d’archive.

jour=$(date +%A)

nom d’hôte = $ (nom d’hôte -s)

archive_file=”$nom d’hôte-$jour.tgz”

# Sauvegardez les fichiers en utilisant tar.

tar czf $dest/$archive_file $backup_files

Enregistrez ce fichier sous sat_backup.sh. Vous souhaiterez également créer le répertoire /backup avec :

Vous voudrez également vous assurer que la propriété du répertoire est correcte avec quelque chose comme :

sudo chown -R $USER:$USER /données

sudo chown -R $USER:$USER /données

Une fois que vous avez enregistré le script de sauvegarde, déplacez-le vers /usr/local/bin avec :

sudo mv sat_backup.sh /usr/local/bin

sudo mv sat_backup.sh /usr/local/bin

sudo chmod u+x /usr/local/bin/sat_backup.sh

sudo chmod u+x /usr/local/bin/sat_backup.sh

Avant de continuer, assurez-vous que le script s’exécute comme prévu en exécutant la commande :

Maintenant, créons le cronjob. Pour cela, lancez la commande :

Si c’est la première fois que vous exécutez la commande ci-dessus, vous serez invité à sélectionner votre éditeur par défaut. Je recommanderais fortement de sélectionner Nano, car il est très simple à utiliser.

Au bas du fichier, vous ajouterez ce qui suit :

0 23 * * 0 /usr/local/bin/sat_backup.sh > /dev/null 2>&1

Une petite explication est nécessaire.

Vous savez déjà ce qu’est 0 23 * * 0 et /usr/local/bin/sat_backup.sh est le script que vous avez créé. Mais qu’en est-il de /dev/null 2>&1 ? C’est un élément clé car si le script produit une sortie (même des erreurs), il échouera sans savoir où envoyer les erreurs. Dans le cas ci-dessus, /dev/null 2>&1 est essentiellement une poubelle. Sans cette pièce du puzzle, si des erreurs étaient détectées, la tâche cron ne pourrait pas s’exécuter. Pour être encore plus précis :

  • 2 est un descripteur de fichier pour les erreurs standard
  • > est utilisé pour la redirection
  • & est le symbole du descripteur de fichier
  • 1 est le descripteur de fichier pour la sortie standard

Cela signifie que toutes les erreurs standard sont redirigées vers la sortie standard et envoyées vers le trou noir appelé /dev/null.

Enregistrez la tâche cron avec le raccourci clavier Ctrl+x. Vous pouvez ensuite visualiser votre cronjob avec :

Vous devriez voir la nouvelle tâche cron répertoriée, et dimanche prochain à 23 heures, la tâche s’exécutera automatiquement et vous aurez un nouveau fichier de sauvegarde trouvé dans /data.

Et c’est tout ce qu’il y a à faire avec les tâches cron Linux. Cet outil vous sera certainement utile en tant qu’utilisateur et/ou administrateur Linux.

YOUTUBE.COM/THENEWSTACK

La technologie évolue vite, ne manquez aucun épisode. Abonnez-vous à notre chaîne YouTube pour diffuser tous nos podcasts, interviews, démos et bien plus encore.

S’ABONNER

Groupe créé avec Sketch.

Jack Wallen est ce qui arrive lorsqu’un esprit de la génération Xer se fusionne avec le snark d’aujourd’hui. Jack est un chercheur de vérité et un écrivain de mots avec un crayon mécanique quantique et un rythme disjoint de son et d’âme. Bien qu’il réside…

Lire la suite de Jack Wallen
#Linux #comment #utiliser #Cron #pour #planifier #des #tâches #régulières

You may also like

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.