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
Bonjour à tous

j'aimerai avoir votre avis sur ce petit script de sauvegarde pour un système linux (attention je suis pas programmeur Bash!)
il sauvegarde des répertoires, les paquets installés et les bases mysql directement sur une machine distance avec SSH


j'aimerai améliorer 2 points:
  - Passer le résultat de dpkg --get-selections directement dans la commande scp sans passer par un fichier?
  - Faire un fichier de config ~/.sshbackup-config, mais j'ai lu que utiliser "source" pour inclure des fichiers de config étaient dangereux, par exemple si un comique ajoute un "rm -rf /" dans le fichier de config



Ci-dessous le script

#!/bin/bash

backuphost="sshbackup at xxxxxxxxx.me"
sshbackupdir=$HOSTNAME
mysql_pwd="xxxxxxxxx"

echo "Sauvegarde "  dans le repertoire $sshbackupdir

#verifie si le dossier de sauvegarde existe sur la machine distante
ssh -T $backuphost bash -c "'

   if [ -d $sshbackupdir ];then
     echo "Le dossier de sauvegarde existe bien sur la machine distante";
   
   else
     echo "Creation du rerpertoire de sauvegarde";
     mkdir $sshbackupdir
   fi

'"

#sauvegarde avec rsync du /home /root /etc
rsync -e ssh -av --delete --progress  /home $backuphost:~/$sshbackupdir
rsync -e ssh -av --delete --progress  /root $backuphost:~/$sshbackupdir
rsync -e ssh -av --delete --progress  /etc  $backuphost:~/$sshbackupdir


#sauvegarde de la liste des paquets APT
file_dpkg=~/"APT-paquets-installes"
dpkg --get-selections > $file_dpkg
scp $file_dpkg  $backuphost:~/$sshbackupdir
rm $file_dpkg


#exporter les bases Mysql
file_mysql=~/"Mysql-dump.sql.bz2"
mysqldump -u root -p$mysql_pwd --all-databases | bzip2 -c > $file_mysql
scp $file_mysql  $backuphost:~/$sshbackupdir
rm $file_mysql


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