Scripte de sauvegarde

code juil. 07, 2020

Mon scripte est exécutée en tache CRON

Voici mon petit scripte de sauvegarde :

#!/bin/bash

DATE=$(date +%d-%m-%Y)
sudo cp -a /home/julien /sav/julien-${DATE}
sudo tar cf /sav/global/julien-${DATE}.tar /sav/julien-${DATE}
sudo find /sav/global/ -type f -mtime +14 -exec /bin/rm -f {} \;
sudo find /sav/ -type d -mtime +7 -exec /bin/rm -rf {} \;
/home/julien/rocket -b " Sauvegarde GLOBAL terrminée à (`date +%X`)" -u https://mon.chat.fr/hooks/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Je commence par récupérer la date dans la variable DATE.

Je Fais une copie du répertoire à sauvegarder vers mon répertoire de sauvegarde avec la commande cp.

Je compresse le répertoire en question avec la commande tar.

Je cherche les fichiers qui sont plus ancien que 14 jours pour les supprimer avec la commande find.

Je fais de même pour les répertoires non-compresser. J'ai pris la décision de garder la dernière sauvegarde non-compresser pour gagner du temps en cas de problèmes.

Pour finir, j'envoie le message du bon déroulement de la sauvegarde à Rocket.Chat, ce qui me permet d'avoir l'information en temps réel, sans me connecter au serveur.

Le répertoire contenant les sauvegardes compresser sont ensuite télécharger sur un serveur tierce.

Julien HL

Développeur full stack, sysadmin & CEO UNITS.