#!/bin/sh # Backup de dossiers du NAS vers un disque externe # Variables LOG=/volume1/homes/admin/logs # dossier du fichier .log JOUR=$(date +"%Y-%m-%d %T") # http://www.cyberciti.biz/faq/linux-unix-formatting-dates-for-display/ depart=/volume1/ # volume à sauvegarder arrivee=/volumeUSB2/usbshare/ # volume de sauvegarde folders="trimultimedia" # liste des dossiers à sauvegarder (séparés par un espace) success=false touch $LOG/backup.log # création du fichier log echo $JOUR >> $LOG/backup.log echo "$JOUR Démarrage du transfert" >> $LOG/backup.log for i in $folders; do origine=$depart$i destination=$arrivee$i if [ -d "$origine" ]; then taille=$(du -sk "$origine" | cut -f1) # taille dossier origine free=$(df -k "$arrivee" | awk '/[0-9]%/{print $(NF-2)}') # place libre sur dest #echo "$taille $free" >> $LOG/backup.log if [ "$free" -gt "$taille" ]; then echo "$JOUR Nom de la sauvegarde: $i" >> $LOG/backup.log if [ ! -d "$destination" ]; then echo "$JOUR Le dossier destination n'existe pas! On le crée." >> $LOG/backup.log mkdir "$destination" fi #rsync -av --delete --exclude-from=/volume1/homes/admin/ListeExclusionRsync $SOURCE1/ $DEST1 rsync -av --delete --exclude-from=/volume1/homes/admin/ListeExclusionRsync --log-file=$LOG/backup.log $origine/ $destination echo "$JOUR Sauvegarde $i terminée" >> $LOG/backup.log synodsmnotify @administrators "[backup.sh]" "Sauvegarde $i terminée" success=true else echo "$JOUR Copie impossible:" >> $LOG/backup.log echo "$JOUR -taille de la sauvegarde: $taille" >> $LOG/backup.log echo "$JOUR -place libre: $free" >> $LOG/backup.log synodsmnotify @administrators "[backup.sh]" "Sauvegarde $i impossible. Espace disque insuffisant:
-taille de la sauvegarde: $taille ko
-place libre: $free ko" echo -e "Place libre sur le disque insuffisante" | /opt/bin/nail -s "[NAS] Sauvegarde impossible" bruno@funnymac.com fi fi done echo "$JOUR Fin du transfert" >> $LOG/backup.log if [ "$success" = true ]; then echo -e "$JOUR Les dossiers ont ete sauvegarde" | /opt/bin/nail -s "[NAS] Sauvegarde reussie" bruno@funnymac.com fi exit