Crontab est un outil de planification de tâches qui me sert à mettre ma distribution à jour tous les matins à 09:00. J’en avais déjà expliqué les grandes lignes ici. La mise à jour de la distribution est une tâche qui se déroule au niveau du système. C’est pourquoi j’ouvre le fichier /etc/crontab et je rajoute la ligne suivante :

00 9 * * * root /home/user/system_update.sh 2&> /home/user/update_report

Vous noterez que le nom de l’utlisateur est root. Crontab ne vous demandera pas de mot de passe. Cela signifie que le processus est verrouillé. Cette ligne lance le script ci-dessous. Il met à jour la distribution. Puis, le résultat et les erreurs éventuelles sont renvoyés dans le fichier update_report. Vous noterez l’option -y qui permet de mettre à jour les paquets sans avoir besoin de demander l’autorisation à l’utilisateur. Sans le -y, il ne s’agit plus d’un processus automatique puisque le script se met en pause et attend la réponse positive ou négative de l’utilisateur! system_update.sh s’occupe également de suprimer les paquets obsolètes. Là encore, on retrouve le -y.

#!/bin/bash
# Nom du script : system_update.sh

# Mise à jour de la distribution
dnf -y upgrade

# Nettoyage des paquets obsolètes
dnf -y autoremove

C’est simple, mais ça fonctionne, et il n’y a aucun risque d’oublier de mettre à jour sa distribution.