Script Shell: Sauvegarder des répertoires sur le réseau
Avec la baisse importante des coûts des disques durs, ces derniers sont devenus le moyen n°1 de support de sauvegarde.
Imaginons un entreprise avec contrôleur de domaine SAMBA, avec profils itinérants.
Il est donc vital de sauvegarder les répértoires contenant les profils.
Voyons donc comment faire en Bash:
#!/bin/sh
mount -t smbfs //xx.xx.xx.xx/sauvegardes /mnt/sauvegardes # montage du disque réseau avec samba
backup_profils() # fonction de backup
{
date >> backup_profils.log # On crée et on met la date dans un fichier de log
echo "Sauvegarde du repertoire /profils/"$1 >> backup_profils.log
rm -f /mnt/sauvegardes/$1_profils_backup.tgz 1>/dev/null 2>/dev/null # On supprime la sauvegarde d’il y’a 2 jours
mv /mnt/sauvegardes/backup_profils/$1_profils.tgz /mnt/sauvegardes/backup_profiles/$1_profils.1.tgz 1>/dev/null 2>/dev/null # on renomme le backup de la veille en nomprofils.1.tgz
tar -czvf /mnt/sauvegardes/backup_profils/$1_profils.tgz /home/$1 1>/dev/null 2>/dev/null # on crée une archive de backup sous la forme "nomprofils_profils.tgz"
}
# On met le nom de tout les profils précédé du nom de la fonction
backup_profils toto
backup_profils titi
# Si pas beaucoup de profils, on peut le faire a la main. Sinon on peut ajouter cela a la fon du script:
for in in `ls /profils`
do
echo backup_profils $i >> backup_profils.sh
done