First commit
This commit is contained in:
64
backup.sh
Executable file
64
backup.sh
Executable file
@@ -0,0 +1,64 @@
|
||||
#!/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 <b>$i</b> 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 <b>$i</b> impossible. <u>Espace disque insuffisant:</u><br> -taille de la sauvegarde: <i>$taille ko</i> <br> -place libre: <i>$free ko</i>"
|
||||
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
|
||||
Reference in New Issue
Block a user