Salut merci pour ta réponse.
Ma commande rsync est la suivante. Elle fonctionne sauf qu'elle ne crée pas les repertoire parent
rsync -avzutr --stats --del --progress --backup --backup-dir=$OLD_FILES_FOLDER$FOLDER_TARGET/`date +%d-%m-%Y`/`date +%Hh%Mm` $FOLDER_SOURCE $LOCAL_MOUNT_FOLDER$FOLDER_TARGET > $FOLDER_LOG/bck_progress.log
En sachant que
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| DOMAIN=titi
USERNAME=toto
NO=8
FOLDER_LOG=~/Documents/Backup/log/stora #do not add /
LOCAL_HOME_FOLDER=~
REMOTE_FOLDER=data/$USERNAME
LOCAL_MOUNT_FOLDER=/Volumes/$USERNAME
OLD_FILES_FOLDER=$LOCAL_MOUNT_FOLDER/previous_datas
echo ""
echo "Select a folder to backup:"
echo "1) Documents"
echo "2) Pictures"
echo "3) Movies"
echo "4) Desktop"
echo "(Dont add a '/' at the end)"
echo ""
echo -n "Eter your choose: "
read DOSSIER
#Enregistre le dossier à backuper dans la variable (tous ce qui contient)
FOLDER_SOURCE=$LOCAL_HOME_FOLDER/$DOSSIER/
#Enregistre le dossier de destination qui contiendra le backup
FOLDER_TARGET=$LOCAL_HOME_FOLDER/$DOSSIER |
Pour le umount, je ne voit pas ce que tu veux dire.
J'ai cette commande avec une boucle qui va tourner jusqu'a ce que le umount est terminé (dans le cas ou il prendre quelques secomde)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
|
umount $LOCAL_MOUNT_FOLDER
#Ici, j'aimerais créer une condition qui va controler si le montage a bien été effectué (true or false)
#Dans le cas présent, il va seulement contrôler si un message d'erreur. Mais si le message d'erreur est différent,
#alors la condition ne sera pas respectée (voir un peu plus bas)
ERROR=$?
#echo "error de montage :$ERROR"
# Controle si le démontage est correctement fait.
# Si ca n'est pas le cas, notemment parce qu'il peut est busy
# (Occupé par la lecture/utilisation d'un fichier par un autre utilisateur)
# Si 0 Libre, si 1 Occupé
if [ $ERROR == 1 ]; then
MESSAGE="[INFO] files$NO.epfl.ch/$REMOTE_FOLDER/ WAS NOT unmounted! It can be busy."
echo $MESSAGE
echo $MESSAGE >> $FOLDER_LOG/bck_end.log
else
while [ ! -d $LOCAL_MOUNT_FOLDER ]; do
echo "[INFO] Wait while unmounting"
done
MESSAGE="[INFO] files$NO.epfl.ch/$REMOTE_FOLDER/ is unmounted!"
echo $MESSAGE
echo $MESSAGE >> $FOLDER_LOG/bck_end.log
fi # Fin de if [ $ERROR == 1 ]; then |
Ce que je n'aime pas de ce code, c'est qu'il se base sur un message d'erreur, que je ne peux pas garantir qu'il soit toujour le meme. Je prédèrerais un truc du genre true ou false (si démonté "1", si non "0")
Partager