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:

Script shell

#!/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
 

No Tags
Vus : 855
Publié par Tchouvince : 10