Comment vérifier si un plan de sauvegarde est configuré sur Linux

LinuxLinuxBeginner
Pratiquer maintenant

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

Dans ce laboratoire, vous apprendrez à vérifier les tâches de sauvegarde planifiées sur un système Linux en examinant différents emplacements où les tâches cron sont configurées. Vous commencerez par lister les tâches cron de l'utilisateur actuel en utilisant crontab -l pour voir si des planifications personnelles sont définies.

Ensuite, vous explorerez les tâches cron système en vérifiant le répertoire /etc/cron.d, qui contient souvent des tâches planifiées installées par des paquets logiciels. Enfin, vous vérifierez le contenu du répertoire /etc/cron.daily pour voir si des scripts quotidiens, y compris des routines de sauvegarde potentielles, sont configurés pour s'exécuter automatiquement.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("Linux")) -.-> linux/BasicFileOperationsGroup(["Basic File Operations"]) linux(("Linux")) -.-> linux/SystemInformationandMonitoringGroup(["System Information and Monitoring"]) linux/BasicFileOperationsGroup -.-> linux/ls("Content Listing") linux/BasicFileOperationsGroup -.-> linux/cat("File Concatenating") linux/SystemInformationandMonitoringGroup -.-> linux/crontab("Job Scheduling") subgraph Lab Skills linux/ls -.-> lab-558699{{"Comment vérifier si un plan de sauvegarde est configuré sur Linux"}} linux/cat -.-> lab-558699{{"Comment vérifier si un plan de sauvegarde est configuré sur Linux"}} linux/crontab -.-> lab-558699{{"Comment vérifier si un plan de sauvegarde est configuré sur Linux"}} end

Lister les tâches cron de l'utilisateur avec crontab -l

Dans cette étape, vous apprendrez à afficher les tâches planifiées pour l'utilisateur actuel en utilisant la commande crontab.

cron est un planificateur de tâches basé sur le temps dans les systèmes d'exploitation de type Unix. Il vous permet de planifier des commandes ou des scripts pour qu'ils s'exécutent automatiquement à des intervalles spécifiés. Ces tâches planifiées sont souvent appelées "tâches cron".

Chaque utilisateur du système peut avoir son propre ensemble de tâches cron. Elles sont stockées dans un fichier spécial appelé "crontab" (table cron).

Pour afficher les tâches cron de l'utilisateur actuel (labex), vous utilisez la commande crontab avec l'option -l. L'option -l signifie "lister".

Ouvrez le terminal si vous ne l'avez pas déjà fait. Tapez la commande suivante et appuyez sur Entrée :

crontab -l

Étant donné que c'est un nouvel environnement, il est probable que l'utilisateur labex n'ait pas encore configuré de tâches cron. Dans ce cas, vous verrez un message similaire à celui-ci :

no crontab for labex

Ce message signifie simplement qu'il n'y a pas de tâches planifiées configurées pour l'utilisateur labex.

Si des tâches cron étaient configurées, la sortie afficherait chaque tâche planifiée sur une nouvelle ligne, en spécifiant l'horaire et la commande à exécuter.

Comprendre les tâches cron des utilisateurs est la première étape de la gestion des tâches planifiées sur un système Linux. Dans les étapes suivantes, nous explorerons les tâches cron système.

Cliquez sur Continuer pour passer à l'étape suivante.

Vérifier les tâches cron système dans /etc/cron.d

Dans l'étape précédente, vous avez appris à afficher les tâches cron d'un utilisateur spécifique. Maintenant, explorons les tâches cron système.

Les tâches cron système sont généralement stockées dans le répertoire /etc/cron.d/. Contrairement aux crontabs utilisateur, qui sont gérés avec la commande crontab, les tâches cron système sont définies dans des fichiers individuels de ce répertoire.

Ces fichiers sont souvent créés par les paquets logiciels installés pour planifier des tâches qui doivent s'exécuter pour l'ensemble du système, telles que les mises à jour système, la rotation des journaux ou les scripts de nettoyage.

Pour afficher les fichiers dans le répertoire /etc/cron.d/, vous pouvez utiliser la commande ls. Étant donné que ce répertoire appartient à l'utilisateur root, vous devrez utiliser sudo pour lister son contenu.

Tapez la commande suivante dans le terminal et appuyez sur Entrée :

sudo ls /etc/cron.d/

Vous pourriez voir une sortie similaire à celle-ci, listant différents fichiers :

anacron  e2scrub_all  phpsessionclean

Les fichiers spécifiques que vous voyez peuvent varier en fonction des logiciels installés sur le système. Chaque fichier de ce répertoire représente une configuration de tâche cron système.

Pour afficher le contenu d'un de ces fichiers, par exemple phpsessionclean, vous pouvez utiliser la commande cat. Encore une fois, vous aurez besoin de sudo car le fichier appartient à root.

Tapez la commande suivante et appuyez sur Entrée :

sudo cat /etc/cron.d/phpsessionclean

Vous verrez le contenu du fichier, qui définit quand et comment le script phpsessionclean est exécuté. Le format est similaire à un crontab utilisateur, mais il inclut également un champ utilisateur pour spécifier quel utilisateur doit exécuter la commande (souvent root).

## Ce fichier est installé par le paquet php-common
#
## Le script nettoiera les anciens fichiers de session.
#
## Voir /usr/lib/php/sessionclean pour plus de détails.

09,39 *	* * *	root	[ -x /usr/lib/php/sessionclean ] && if [ ! -d /run/systemd/system ]; then /usr/lib/php/sessionclean; fi

Cette sortie montre que le script phpsessionclean est planifié pour s'exécuter à la 9e et 39e minute de chaque heure, tous les jours, et qu'il sera exécuté par l'utilisateur root.

Explorer les fichiers dans /etc/cron.d/ vous aide à comprendre quelles tâches automatisées s'exécutent au niveau du système.

Cliquez sur Continuer pour passer à l'étape suivante.

Vérifier les tâches cron quotidiennes dans /etc/cron.daily

En plus des fichiers individuels dans /etc/cron.d/, les systèmes Linux utilisent souvent des répertoires tels que /etc/cron.daily/, /etc/cron.weekly/ et /etc/cron.monthly/ pour planifier l'exécution de scripts à des intervalles spécifiques.

Tout script exécutable placé dans /etc/cron.daily/ sera exécuté une fois par jour. De même, les scripts dans /etc/cron.weekly/ s'exécutent une fois par semaine, et ceux dans /etc/cron.monthly/ s'exécutent une fois par mois.

Ces répertoires sont généralement gérés par une tâche cron système qui exécute un script comme run-parts pour exécuter tous les scripts trouvés dans ces répertoires.

Examinons le contenu du répertoire /etc/cron.daily/. Ce répertoire contient des scripts qui sont planifiés pour s'exécuter tous les jours.

Utilisez la commande ls avec sudo pour lister les fichiers de ce répertoire :

sudo ls /etc/cron.daily/

Vous verrez probablement une liste de scripts, par exemple :

apt-compat  dpkg  logrotate  man-db  passwd  update-notifier-common

Ce sont des scripts qui effectuent des tâches de maintenance quotidiennes sur le système, telles que la mise à jour de la liste des paquets (apt-compat), la rotation des fichiers de journal (logrotate) et la mise à jour de la base de données des pages de manuel (man-db).

Pour comprendre ce que l'un de ces scripts fait, vous pouvez afficher son contenu en utilisant sudo cat. Par exemple, regardons le script logrotate :

sudo cat /etc/cron.daily/logrotate

La sortie affichera le code du script, qui est responsable de la rotation des fichiers de journal système pour éviter qu'ils ne deviennent trop volumineux.

#!/bin/sh

test -x /usr/sbin/logrotate || exit 0
/usr/sbin/logrotate /etc/logrotate.conf
exit 0

Ce script vérifie simplement si la commande logrotate existe et est exécutable, et si c'est le cas, il exécute logrotate en utilisant le fichier de configuration /etc/logrotate.conf.

Comprendre les scripts dans /etc/cron.daily/ et dans des répertoires similaires vous permet de comprendre les tâches de maintenance automatisées qui permettent au système de fonctionner correctement.

Vous avez maintenant exploré les tâches cron utilisateur, les tâches cron système dans /etc/cron.d/ et les scripts cron quotidiens dans /etc/cron.daily/. Cette connaissance est fondamentale pour gérer les tâches planifiées sur un système Linux.

Cliquez sur Continuer pour terminer le lab.

Résumé

Dans ce lab, vous avez appris à vérifier les tâches de sauvegarde planifiées sur Linux en examinant les tâches cron. Vous avez commencé par lister les tâches cron de l'utilisateur actuel en utilisant crontab -l, en comprenant que cette commande affiche les tâches planifiées spécifiques à l'utilisateur.

Ensuite, vous avez exploré les tâches cron système en vérifiant le répertoire /etc/cron.d/, qui contient des fichiers définissant les tâches planifiées pour l'ensemble du système, souvent installées par des paquets logiciels. Enfin, vous avez vérifié les tâches cron quotidiennes situées dans le répertoire /etc/cron.daily, qui contient généralement des scripts destinés à s'exécuter une fois par jour. En vérifiant ces emplacements, vous pouvez déterminer si des plans de sauvegarde sont configurés sur un système Linux.