Léa-Linux & amis :   LinuxFR   GCU-Squad   Zarb.Org   GNU
Archive de la liste aide - [Aide] Avis sur script bash pour sauvegarde complète d'un système
J'ai suivi tes conseils,je suis passé par SSHFS, du coup j'ai ajouté une 
variable "mount_cmd" qui me permet d'utiliser ce script aussi pour une 
sauvegarde USB
j'ai également ajouté une boucle sur les répertoires à sauvegarder
c'est pas nickel mais ca marche



script:

#!/bin/bash

mysql_pwd="xxxxxxxxx"
dirtobackup=("/root" "/etc" "/home")

mount_point='/mnt'
mount_cmd="sshfs sshbackup at xxxxxxxxxx.me:"
#cmd_montage='mount -t /dev/sdb2


backupdir=$mount_point'/'$HOSTNAME


date_start=$(date +%s) #chrono


echo "Montage de la partition de sauvegarde avec la commande:"
mount_cmd=$mount_cmd' '$mount_point
echo $mount_cmd
eval $mount_cmd


#verifie si la partition de sauvegarde est bien montée
mountpoint $mount_point
if [ $? -ne 0 ];then
   echo "Partition non montee FIN"
   exit 1
fi


#verifie si le dossier de sauvegarde pour cette machine existe sur la 
partition de sauvegarde
if [ -d $backupdir ];then
   echo "Le dossier de sauvegarde existe bien sur la machine distante";

else
   echo "Creation du rerpertoire de sauvegarde";
   mkdir $backupdir
fi



#sauvegarde des repertoires avec rsync
for i in ${!dirtobackup[@]} ;do
   echo "Sauvegarde repertoire "${dirtobackup[i]};

   # Rsync ajout des options --no-o et --no-g pour eviter les problèmes 
de chmod sur les fichiers transférés
   rsync -aq --no-o --no-g --delete  ${dirtobackup[i]} $backupdir
done

echo 'Sauvegarde de la liste des paquets APT'
dpkg --get-selections > $backupdir"/APT-paquets-instales"


echo 'Sauvegarde des bases Mysql'
mysqldump -u root -p$mysql_pwd --all-databases | bzip2 -c > 
$backupdir/"Mysql.sql.bz2"


date_end=$(date +%s)

echo "Temps de sauvegarde:"
echo $(($date_end-$date_start)) "Sec"

echo "Taille de la sauvegarde:"
du -hs $backupdir

echo "demontage de la partition"
fusermount -u $mount_point

exit 0






On 04/02/2016 18:19, Ille wrote:
>>    - Passer le résultat de dpkg --get-selections directement dans la
>> commande scp sans passer par un fichier?
> scp ne copie que des fichiers, il te faut donc un fichier en entrée et
> un fichier en sortie.
> Cependant, pourquoi n'utilises-tu pas sshfs pour monter le répertoire
> distant? ainsi, tu travailles tout avec des répertoires locaux, c'est
> beaucoup plus simple.
>
> En passant, pour tes rsync, une petite boucle for serait plus propre,
> non?
>
> Ille
> _______________________________________________
> Aide mailing list
> Aide at lea-linux.org
> http://lists.lea-linux.org/listinfo/aide


Serveur hébergé par ST-Hebergement et Lost-Oasis / IRC hébergé par FreeNode / NS secondaire hébergé par XName
Sauf mention contraire, les documentations publiées sont sous licence Creative-Commons