Bonjour, ce topic fait suite au topic suivant :
http://www.debian-fr.org/script-bash-et-test-de-fichier-t31225.html
J’améliore ma sauvegarde avec une backup du système suivant le T&A de Ricardo (merci à toi )
voici mon bout de mont script :
[code]# sauvegarde du système :
# vérification de la présence du dossier /home/controle/
if [ -e /home/controle ]
then
ls /home/controle
else
mkdir /home/controle
fi
# vérification de la présence du dossier /media/r-diff/backuproot
if [ -e /media/r-diff/backuproot ]
then
ls /media/r-diff/backuproot
else
mkdir /media/r-diff/backuproot
fi
# vérification de la présence du dossier /root/exclure
if [ -e /root/exclure ]
then
ls /root/exclure
else
echo "Erreur : le fichier /root/exclure n'existe pas, impossible de déterminer les fichiers à exclure de la sauvegarde"
fi
# vidange du contenu du dossier temporaire /home/controle/
rm -r /home/controle/* /home/controle/.*
# sauvegarde du système dans /media/r-diff/backuproot
rsync -av --del --backup --backup-dir=/home/controle/ --exclude-from=/root/exclure / /media/r-diff/backuproot/ > /home/rdiff-backup/backuproot.txt 2>&[/code]
Bon tout marche mais mon problème est là :
je souhaite tester la présence de plusieurs dossiers/ fichiers avant de lancer la sauvegarde et les créer si ils n’existent pas.
Pour l’instant j’ai utilisé une condition :
# vérification de la présence du dossier /media/r-diff/backuproot
if [ -e /media/r-diff/backuproot ]
then
ls /media/r-diff/backuproot
else
mkdir /media/r-diff/backuproot
fi
Bon, ça teste bien la présence de mon dossier et ça le crée bien s’il n’existe pas, mais je suis obligé (je ne pense pas mais je n’ai pas trouvé d’autre solution…) de rajouter un “ls” pour combler mon then, vu que seul le else m’intéresse… ou alors il faut inverser le test ou combler le “then” avec quelque chose de “nulle”…
Une idée ???