Automatiser les mises à jour et backup sous Linux

  1. Créer un script de mise à jour avec fichier .log
  2. Lancer ce script avec crontab (cron ‘root’)

Ouvrir un Terminal.

$ mkdir $HOME/bin
$ nano $HOME/bin/update-day

et copier / coller le contenu ci-dessous :

# update-day
# Apt Update et Upgarde quotidiens > fichier de log
LOG=/var/log/update-day.log
# touch $LOG
echo '---------------------------' $(date +"%Y-%m-%d %H:%M") > $LOG
sudo apt update     -y >> $LOG
sudo apt upgrade    -y >> $LOG
sudo apt autoremove -y >> $LOG

Mettre au cron ‘root’ :

$ sudo su   
# crontab -e

et copier/coller les 2 lignes ci-dessous :

0 * * * * /home/pjm/bin/update-day
30 9 * * 1 /home/pjm/bin/backup-day

Explications :

  1. Les MaJ de Linux sont lancées toutes les heures (car on ne sait pas à quelle heure l’utilisateur ouvre sa session)
  2. Les Backups sont lancés à 9h30 : heure probable de connexion au poste de travail

NB : Vérifier la log pour savoir si le script fonctionne et s’il est bien lancé par le cron ?

Voici mes deux scripts de mise à jour et de sauvegarde hebdomadaires :

Ces 2 scripts sont basés sur des fichiers de Lock Hebdo. On peut donc les lancer toutes les heures. Ils ne s’executeront que lorsque le fichier de Lock datera d’une semaine.

sudo crontab -e :

0 * * * * /home/pjm/bin/mise-a-jour-hebdo
10 * * * * /home/pjm/bin/sauvegarde-hebdo