Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#76 Le 25/02/2007, à 15:22

Sorbus

Re : [HowTo] Sauvegarder son "home" avec rsync

@ poupoul2

unexpected end of filter rule: -

Je n'ai pas encore essayé les filtres avec des "-"

Mais regarde les exemples de sauvegardes de ceux qui utilisent des filtres dans ce fil de discussion, comme par exemple Yohann (message 62 ci-dessus).

Il écrit par exemple :

--filter "- cache/"

... et pas :

--filter - cache/

C'est à dire qu'il faut entourer de

"  "

chacune de tes options de filtre... ça devrait aller mieux.

N'oublie pas aussi d'enlever le "-n" (simulation).

en lisant en diagonale ce post, j'ai cru comprendre que rsync ne fonctionne pas avec des disques en fat32.

En résumé, pour des sauvegardes en local :

- rsync : ext3 vers ext 3 : OK aucun problème

- rsync : ext3 vers vfat (fat32 ou fat16) : NON
Avis de cep sur un autre fil : "vfat ne gère pas les permissions et certaines autres options des systèmes de fichiers comme ext3 et assimilés.
De ce fait tu ne peux pas utiliser rsync ainsi, de même que cp -a.
Si tu veux faire une sauvegarde vers du vfat ou du nfts il faudra utiliser tar ou autre soft de ce genre."

- rsync : vfat vers vfat : ça peut marcher... dans certains cas.
Avis de cep sur un aute fil : "tu peux  faire un rsync -a sur vfat, oui. Donc rester sur vfat."
... et sur ce fil : http://forum.ubuntu-fr.org/viewtopic.ph … 59#p680659

Sur mon fixe, je sauvegarde sans problème les documents de ma partition fat32 partagée Ubuntu/Windows vers une partition fat32 de mon HD externe. Aucune erreur, et ,vérification faite, la sauvegarde est bonne.
Sur mon portable (architecture amd64), je n'arrive pas à réaliser la même opération. [Edit 9 juin 2007 : je viens de réessayer sur le portable, alors que je suis sous Feisty, ça marche smile ]
[Edit 9 juin 2007; sur le fixe, depuis le passage a Feisty, de nombreuses erreurs "chgrp "/file/path/here" failed: Operation not permitted" sad - problème  résolu pour l'instant par la suppression de l'option -g smile Je n'ai pas rencontré ce problème sur le portable.]

Pour les questions de sauvegarde rsync de fat32 vers fat32, voir quelques éléments ici : http://forum.ubuntu-fr.org/viewtopic.ph … 45#p980245

[Edit juin 2007 :
- rsync : vfat vers ext3 : ça a l'air de marcher...  voir ici : http://forum.ubuntu-fr.org/viewtopic.ph … 87#p938587 ]

Si tes fichiers audio et vidéo sont sur une partition ext3 sur ton ordinateur, tu ne pourras pas utiliser rsync pour les sauvegarder sur une partition en fat32...

Par contre, s'ils sont sur une partition en fat32 sur ton ordinateur, tu peux essayer rsync pour les sauvegarder sur une partition fat32.

@micnight
grand merci !
J'ai testé ta proposition pour l'intégration de la date dans le fichier généré "backuperror" : ça fonctionne parfaitement : la date (+ heure) est systématiquement inscrite dans le fichier... suivie de rien s'il n'y a pas d'erreur... ou bien suivi des lignes d'erreurs s'il y en a (il a fallu que j'en provoque quelques-unes pour le vérifier wink ) - J'édite le message contenant mon script pour insérer ça.
Par contre, je n'ai pas eu le temps de tester ta proposition pour générer un mail... Ce sera pour plus tard (ou d'autres le feront...).

Cette fois, je disparait wink
Bonnes sauvegardes !

Dernière modification par Sorbus (Le 09/06/2007, à 14:22)

Hors ligne

#77 Le 25/02/2007, à 18:29

poupoul2

Re : [HowTo] Sauvegarder son "home" avec rsync

bien vu: j'ai réussi à caler ma sauvegarde en excluant l'inutile. J'ai encore quelques options à explorer (sauvegarde incrémentielle et fichier d'erreur) et à automatiser l'affaire via cron et je serais au point. Un grand merci pour le coup de main

Dommage pour l'ext3 vers vfat. Je vais trouver une autre solution pour synchroniser disque dur interne et externe

Dernière modification par poupoul2 (Le 25/02/2007, à 18:32)

#78 Le 25/02/2007, à 18:57

Sorbus

Re : [HowTo] Sauvegarder son "home" avec rsync

Bon,
J'y suis encore...
... pour le fichier d'erreur... Il y a plusieurs cas de figure :

--> le PC tourne 24h/24
ou il ne tourne pas 24h/24 mais il est en réseau...
... l'idée de l'envoi d'un mail contenant les erreurs de sauvegarde est intéressante (lors du lancement de la sauvegarde via cron)

--> le PC ne tourne pas 24h/24 et il n'est pas en réseau
... l'idée de l'envoi d'un mail n'est pas la meilleure.
Il faudrait simplement ici faire en sorte que le fichier "backuperror.log" soit automatiquement ouvert - s'il n'est pas vide - au redémarrage du PC.
L'utilisateur serait ainsi averti : "tiens, ma sauvegarde d'hier soir ne s'est pas déroulée correctement... d'où ça vient... et je corrige le problème"
... Ainsi, au pire, la sauvegarde correcte la plus ancienne daterait de l'avant-veille.

Perso, je vais chercher plutôt sur cette seconde piste.
Où placer le fichier "backuperror.log" (non vide) juste avant l'arrêt du PC, pour qu'il soit automatiquement édité au redémarrage suivant ?

Si j'ai la réponse à mon retour dans quelques semaines, ce serait super tongue

@+

Dernière modification par Sorbus (Le 10/03/2007, à 18:07)

Hors ligne

#79 Le 25/02/2007, à 21:12

Micnight

Re : [HowTo] Sauvegarder son "home" avec rsync

Il n'y a pas vraiment d'endroit ou mettre le fichier, tu peux le mettre nimporte où En fait y faut juste fractionner le script avec un qui se met à l'arrêt du pc et un qui se met à chaque démarrage du pc.

donc au final ton script à l'extinction du pc c'est :

backup=/chemin du fichier/backuperror
commande_rsync 2> $backup

et le script que tu mettra a executer comme tache de fond au demarrage sera:

backup=chemin du fichier/backuperror
if [ -s $backup ]; then
{
   gedit $backup
}
rm $backup

Voilà donc le premier comme celui de tout à l'heure fait la sauvegarde et redirige les erreurs vers le fichier.
Celui au redemarrage verifie si le fichier a quelque chose dedans si c'est le cas il l'affiche sinon y fait rien et une fois qu'il a afficher le fichier il le supprime pour eviter que au prochain redemarrage si jamais on a rreter le pc sans sauvegarde que il réaffiche le fichier.

Comme vous savez ça n'a pas de conséquence de supprimer le fichier même si il est lu, bien évidemment si vous voulez le fermer pour chercher l'origine de l'erreur y faut réenregistrer le fichier quelque part pour le réouvrir plus tard... smile voilà

Qu'y sait t'es peut être encore là Sorbus ^^ vu que t'as l'air d'être bien avec nous tongue ^^

J'espère avoir pu t'aider.

Hors ligne

#80 Le 10/03/2007, à 17:38

Sorbus

Re : [HowTo] Sauvegarder son "home" avec rsync

Bonjour Micnight,

J'ai vu ton message et essayé : grand merci pour l'idée !
Il manquait juste un petit "fi" à  la fin du script pour que ça marche.

J'ai donc :

1°) un script lançant la sauvegarde puis l'extinction du PC
:
(script lancé avec ce bouton : 091c51ab7871a862164969a2691686ba.png
Cf. le message 65 de ce fil) [Edit : dernière version de ce script : http://forum.ubuntu-fr.org/viewtopic.ph … 2#p1425302 ]

#!/bin/bash
echo 
echo "LA SAUVEGARDE GENERALE EST EN COURS D'EXECUTION AVANT ARRET DE L'ORDINATEUR"
echo
backup=/home/truc/Documents/Sauvegardes/backuperror.log
# à  noter l'usage des ">". Un seul ">" renvoie le contenu du terminal dans le fichier indiqué en écrasant tout ce que contient déjà  ce fichier. ">>" renvoie le contenu du terminal sans écraser ce que contient déjà  le fichier. Le chiffre "2" suivi d'un seul ">" renvoie seulement les messages d'erreurs générés par le processus dans le fichier indiqué en écrasant le contenu de ce fichier. "2>>" renvoie les erreurs sans écraser le contenu du fichier.
# Sauvegarde de '/home' vers la partition ext3 du disque dur externe :
rsync -av --del --stats --filter "- *.iso" /home/ /media/Sauve_home/SauvHomeMaison/ 2> $backup
# Sauvegarde du bureau (/home/truc/Desktop) vers la partition ext3 du disque dur externe :
rsync -av --stats --filter "- *.iso" /home/truc/Desktop/ /media/Sauve_home/SauvHomeMaisonDesktop/ 2>> $backup
# Sauvegarde du dossier 'Documents' (/home/truc/Documents) vers la partition ext3 du disque dur externe :
rsync -av --stats --filter "- *.iso" /home/truc/Documents/ /media/Sauve_home/SauvHomeMaisonDocuments/ 2>> $backup
# Sauvegarde de "Mes Documents" de hda2 vers la partition FAT32 du disque dur externe (pas au point pour l'instant) :
# rsync -av --stats /media/hda2/Mes_documents_Maison/ /media/usbdisk/SauvMesDocsMaison/ 2>> $backup
# Sauvegarde des profils TB et FF de hda2 vers la partition FAT32 du disque dur externe :
rsync -av --stats /media/hda2/ProfilsTBFF/ /media/usbdisk/SauvProfilsTBFFMaison/ 2>> $backup
# Insertion de la date à  la fin de la liste d'erreur si le fichier backuperror n'est pas vide (c'est à  dire s'il y a des erreurs), ce que vérifie l'option "-s" :
if [ -s $backup ]; then
{
   date >> $backup
}
fi
# Arrêt de l'ordinateur :
sudo shutdown -h now

2°) et un script nommé "signalement_erreurs" qui lance l'ouverture du fichier backuperror au démarrage de l'ordinateur s'il n'est pas vide :

#!/bin/bash
# ce script est destiné à  être exécuté en tache de fond lors du démarrage du PC... Il a pour objet de signaler les éventuelles erreurs de la sauvegarde lancée lors de l'arrêt du PC.
#
# Pour donner un nom abrégé au fichier en indiquant le chemin correspondant.
# ("backuperror.log" est le fichier destiné à  enregistrer les éventuelles erreurs de sauvegarde.)
backup=/home/truc/Documents/Sauvegardes/backuperror.log
# Indique une action (l'édition par "gedit") si le fichier n'est pas vide (ce que vérifie l'option -s) :
if [ -s $backup ]; then
{
  gedit $backup
}
# efface le fichier pour qu'il ne soit ouvert au démarrage suivant de l'ordinateur que s'il a été recréé avec mention d'erreurs lors du déroulement de la sauvegarde suivante.
rm $backup
fi

Pour que ce script soit lancé au démarrage, j'ai d'abord essayé de le placer dans /etc/init.d et de faire les opérations nécessaires...
Mais le résultat n'était pas satisfaisant (expérience faite, le script devait bien se lancer, puisque le fichier "backuperror" était effacé lors du démarrage, mais sans qu'il ne soit auparavant édité par "gedit".)

J'ai donc procédé de façon plus simple. En mode graphique, je suis passé par :
Système --> Préférences --> Sessions --> Onglet "Programmes au démarrage" --> Ajouter
--> Parcourir (pour indiquer le chemin de mon script "signalement_erreurs") --> Valider

Et ça fonctionne parfaitement. La sauvegarde se fait juste avant l'arrêt du PC. Au démarrage : RAS s'il n'y a eu aucune erreur lors de la sauvegarde...
... mais s'il y a eu la moindre erreur lors de la sauvegarde, le fichier "backuperror" est ouvert par gedit.

C'est parfait... Il ne me reste plus qu'à  améliorer mon script de "sauvegarde générale" en ajoutant quelques filtres sur les "Trash", ".Trash" et autres "cache", "Cache"... etc.

Salut !

Dernière modification par Sorbus (Le 30/12/2007, à 21:55)

Hors ligne

#81 Le 11/03/2007, à 13:47

Micnight

Re : [HowTo] Sauvegarder son "home" avec rsync

C'est cool si j'ai pu t'aider big_smile ^^
Ah c'est possible pour le fi qui manqué, faut dire que jsavais pas du tout les conditions en bash avant d'essayer pour ton script lol
Comme tu peux voir pendant ton absence le débat n'a pas particulièrement avancé

Hors ligne

#82 Le 11/03/2007, à 17:10

Sorbus

Re : [HowTo] Sauvegarder son "home" avec rsync

Bonjour Micnight,

Et oui, tu m'as bien aidé. En quelle "langue" informatique écris-tu d'habitude pour pouvoir transposer si facilement en bash sans connaître ? Ou bien tu découvres... avec beaucoup d'intuition ? En tout cas, merci et bravo !

En effet, il y a eu une pause sur ce fil depuis 15 jours.

Mais maintenant, ceux qui feront une recherche sur le forum pour trouver comment sauvegarder "/home" disposent de plein d'informations ici... ça devrait servir.

Et toi ?

L'utilisation de rsync m'interesse pas particulièrement quoi que ça pourrait être sympa que j'essaye sur un serveur ftp...

Finalement... t'as essayé ?

L'idéal maintenant serait de faire une synthèse de cette discussion pour la documentation francophone d'Ubuntu. Hélas, je n'aurai vraisemblablement pas le temps d'ici l'été qui vient... et nous n'avons pas vu revenir soupaloignon. Mais ça viendra !

@+

Dernière modification par Sorbus (Le 11/03/2007, à 17:14)

Hors ligne

#83 Le 11/03/2007, à 21:24

Micnight

Re : [HowTo] Sauvegarder son "home" avec rsync

Ben non finalement j'ai toujours pas essayer... c'est que j'ai un disque dur assez petit en fait et j'ai encore beaucoup de mes infos sur une partition windows.

Ben j'ai quelques base en C mais alors très petites bases après sinon un peu de PHP mais sans plus ... En fait disons que j'y connais pas grand chose, j'ai juste modifié un forum une fois... mais en programmation je débute ^^

Je suis tombé vraiment par hasard sur ce sujet quand j'ai fais une recherche je sais même plus pourquoi et ayant lu une bonne partie si c'est pas toute la documentation sur ce site je me suis aperçu que quelques uns de vos problèmes dans les différents messages que vous mettiez de scripts pouvait être assez facilement résolue donc jme suis dit que j'allais donné un coup de main roll big_smile Je suis content d'avoir pu bien t'aider

Dernière modification par Micnight (Le 11/03/2007, à 21:25)

Hors ligne

#84 Le 11/03/2007, à 21:54

Teofifil

Re : [HowTo] Sauvegarder son "home" avec rsync

Bonsoir,

Le sujet de la sauvegarde du home m'a intéressé et j'ai suivi l'évolution de la discussion. J'en ai profité pour faire un petit programme bash pour gérer automatiquement les sauvegardes quand je le souhaite. Je n'ai pas encore fouillé les pistes avec cron; il faut le lancer manuellement.

Mon /home est constitué des répertoires classiques mais aussi de répertoires de stockage de fichiers perso et je m'en sers pour stocker les fichiers jpeg téléchargés à partir de mon APN. Ces fichiers sont stockés dans un sous répertoire du style 2006-07-11-14-20.58.01 (en fait la date et l'heure de téléchargement) d'un répertoire nommé Telechargement_Photo.
Le petit programme que je soumet à votre sagacité permet de stocker sous forme d'une archive tar.gz l'ensemble des répertoires et des fichiers du /home à l'exception du répertoire de stockage des photos. Je ne sauvegarde de ce dernier que les derniers répertoires créés dans le répertoire de sauvegarde général des photos pour gagner du temps.
Je conserve mes sauvegardes sur 2 supports: un DD de 80 go et un disque dur externe (usb)
A titre d'info, pour ceux que ça intéresse il m'a semblé plus intéressant de sauvegarder l'ensemble de mes fichiers photos en sachant que j'utilise les bibliothèques et les catalogues de gthumb pour les classer. Et ce classement (en fait une liste de lien) est contenu dans un fichier stocké dans /home/.gnome2. Si je sauvegarde le home je sauvegarde mon classement en utilisant peu de place.

Voici la 2ème version qui marche. Mise en ligne le 29/03/07.
#! /bin/bash
###############################################################################################
#DEFINITION DES VARIABLES:
#--archive1 et archive2 sont les répertoires de stockage des archives, respectivement le deuxième DD de 80 Go et le disque externe. 
#--branche variable qui permet de savoir si le disque dur externe est branché et peut par conséquent recevoir les sauvegardes 
#--h est une variable qui contrôle le timer lors du branchement du disque usb.
#--lastrep: contient le dernier répertoire qui a été sauvegardé. 
#--liste1.txt est un fichier texte qui contient les répertoires de téléchargement des photos non encore sauvegardés. Il contient des données brutes non exploitables.
#--liste2.txt conteint les mêmes données que liste1.txt mais exploitables par les commandes bash.
#--liste3.txt contient la première ligne du fichier liste2.txt qui est en fait le répertoire de photos à sauvegarder.
#--liste4.txt permet de stocker les répertoires restant à sauvegarder.
#--Liste_Fichiers.txt contient la liste des fichiers sauvegardé par rsync. La sortie standard est redirigée vers ce fichier texte.
#--Liste_archive.txt contient la liste des fichiers comprimés. La sortie standard de tar est redirigée vers ce fichier
#--Liste_Jpeg contient la liste des fichiers photo sauvegardé par rsync. La sortie standard permet de générer ce fichier.
#--listerep.txt est un fichier qui contient tous les répertoires sauvegardés et qui permet de connaître le dernier sauvegarder
#--nl.txt contient le nombre de répertoires à sauvegarder.
#--nbrline renvoie le nombre de répertoire à sauvegarder.
#--o est une variable qui permet de stocker la réponse sur le branchement du DD usb.
#--reprech  est le chemin complet du dernier répertoire qui a été téléchargé et à partir duquel il faut lancer la recherche.
#--repsource: est le répertoire de stockage de l'ensemble des téléchargement de photos
##############################################################################################
#################SAUVEGARDE DE LA PARTITION HOME SOUS FORME D'UNE ARCHIVE####################
############################################################################################
echo $(date)
cd /tmp/
if [ -e ./Liste_Archive.txt ]
	then
	rm ./Liste_Archive.txt
fi
if [ -e ./Liste_Fichiers.txt ]
	then
	rm ./Liste_Fichiers.txt
fi
if [ -e ./Liste_Jpeg.txt ]
	then
	rm ./Liste_Jpeg.txt
fi
#Test du branchement du disque USB 
branche=non
if [ ! -e /media/usbdisk/ ]
	then
	echo "ATTENTION LE DISQUE DUR USB N'EST PAS BRANCHÉ"
	echo "################################################"
	echo "Si vous souhaitez sauvegarder vos données sur ce média BRANCHEZ LE DISQUE DUR PUIS TAPEZ OUI(Oui/oui/O/o/y) sinon TAPEZ NON(Non/non/N/n): "
	read on
	case "$on" in 
		OUI| O | oui | o | YES | Y | Yes ) h=14
#Mise en marche d'un timer qui décompte 14 secondes avant le démarrage de la suite du programme pour permettre le montage du DD usb
			while [ $h != 0 ] 
			do
			sleep 2
			echo -ne "\r"
			h=$(($h-2))
			done
			echo -n "Début des opérations de sauvegardes sur le disque de 80 Go et sur le disque externe"
			branche=oui;;
		* ) echo "La sauvegarde ne sera effectuée que sur le DD de 80 GO";;
		esac
	else 
	branche=oui
fi
#Création du répertoire de stockage temporaire de la partition /home/eric
mkdir Sauvegarde_Home 
#Sauvegarde de la partition /home/eric avec des exceptions portant sur le répertoire de téléchargement des photos, la poubelle (.Trash)....
sudo rsync -vaz --exclude "- .kde/" --exclude "- Telechargement_Photos/" --exclude "- .thumbnails/" --exclude "- .Trash/" --filter "- cache/" --filter "- CACHE/" --filter "- Cache/" --filter "- lost+found/" --filter "- tmp/" --filter "- *.*~" /home/eric/ ./Sauvegarde_Home/ >>./Liste_Fichiers.txt
#Compression de la sauvegarde

echo "COMPRESSION ET STOCKAGE DE L'ARCHIVE"
sudo tar -zcvf Sauvegarde_Home.tar.gz ./Sauvegarde_Home >>./Liste_Archive.txt
#Écrasement de la précédente sauvegarde
archive1=/media/hdd2/Sauvegardes/Sauvegarde_Home/Sauvegarde_Home.tar.gz
archive2=/media/usbdisk/Sauvegardes/Sauvegarde_Home/Sauvegarde_Home.tar.gz
if [ $branche = oui ] 
	then
	if [ -e "$archive2" ]
		then
		rm $archive2
	fi
#Copie de l'archive de sauvegarde sur le disque dur usb
	sudo cp ./Sauvegarde_Home.tar.gz /media/usbdisk/Sauvegardes/Sauvegarde_Home/Sauvegarde_Home.tar.gz
	echo $(date +%d/%m/%y) >>/media/usbdisk/Sauvegardes/Suivi_Sauvegardes_Home.txt
	echo "######L'ARCHIVE DU HOME A ÉTÉ STOCKÉE SUR LE DISQUE USB LE:"$(date +%d/%m/%y)
	else 
	echo "L'ARCHIVE N'A PAS ÉTÉ SAUVEGARDÉE SUR LE DISQUE USB "
fi
if [ -e "$archive1" ]
	then
	rm $archive1
fi
#Transfert de l'archive sur le DD de 80 GO
sudo mv ./Sauvegarde_Home.tar.gz /media/hdd2/Sauvegardes/Sauvegarde_Home
echo $(date +%d/%m/%y) >>/media/hdd2/Sauvegardes/Suivi_Sauvegardes_Home.txt
echo "######L'ARCHIVE DU HOME A ÉTÉ STOCKÉE SUR LE DISQUE de 80 GO LE: "$(date +%d/%m/%y)
#Effacement du répertoire ayant servi à faire une sauvegarde sélective avant compresson. Cette opération peut-être inutile dans la mesure où /tmp est vidé à chaque fin de session.
sudo rm -rf ./Sauvegarde_Home
echo Sauvegarde du home à jour
echo $(date)
###############################################################################################
###########SAUVEGARDE DE(S)RÉPERTOIRE(S) DE PHOTOS DERNIÈREMENT CHARGÉ(S)####################
###############################################################################################
#
#Effacement des fichiers servant à faire le tri et la recherche des nouveaux répertoires de téléchargement des photos.
if [ -e ./liste1.txt ]
then
rm ./liste1.txt
fi
if [ -e ./liste2.txt ]
then
rm ./liste2.txt 
fi
if [ -e ./nl.txt ]
then
rm ./nl.txt 
fi
#
repsource=/home/eric/Telechargement_Photos #Important pas de / après Telechargement_Photos 
#Boucle qui permet de connaître le dernier répertoire de photos sauvegardé.
for var in $(tail -n 1 /media/hdd2/Sauvegardes/Sauvegarde_Photos/listerep.txt); do
lastrep=$var
done
reprech=$repsource$lastrep
#Mois est une fonction qui retourne le mois de l'année en cours.
Mois () {
date +%m
return
}
mois=$(Mois)
#Annee est une fonction qui retourne l'année en cours.
Annee () {
date +%Y
return 
}
#Boucle qui permet de régler le problème de la sauvegarde en janvier de répertoires téléchargés en décembre de l'année précédente
case "$mois" in 
	01 ) annee=$(Annee)-1;;
	* ) annee=$(Annee);;
esac
nom=$annee*
find /home/eric/Telechargement_Photos/ -type d -name $nom -newer $reprech | LC_ALL=C sort >>./liste1.txt
sed 's;/home/eric/Telechargement_Photos/;/;' /tmp/liste1.txt | LC_ALL=C sort >>./liste2.txt
#Définition de la fonction permettant de connaître le nombre de répertoires à sauvegarder
NbreLignes () {
wc -l --lines $fichier >>./nl.txt
cut -c 1 ./nl.txt
return $?
}
fichier=/tmp/liste2.txt
nbrline=$(NbreLignes $fichier)
case "$nbrline" in
	0 ) echo -n "######IL N'Y A PAS DE SAUVEGARDE DE RÉPERTOIRE PHOTOS À FAIRE";;
	1 ) echo -n "######IL Y A UN RÉPERTOIRE À SAUVEGARDER"
	echo "#####################################################################";;
	* ) echo "######LE NOMBRE DE REPERTOIRES À SAUVEGARDER EST DE "$nbrline
	echo "#####################################################################";;
esac
n=0
if [ $nbrline != 0 ]
	then
	while [ $n != $nbrline ] 
	do
		for var in $(head -n 1 ./liste2.txt); do
		head -n 1 /tmp/liste2.txt >>./liste3.txt
		comm -23 /tmp/liste2.txt /tmp/liste3.txt | LC_ALL=C sort >>./liste4.txt
		rm ./liste2.txt
		rm ./liste3.txt
		mv ./liste4.txt ./liste2.txt
 		repcp=$repsource$var
 		rsync -vaz $repcp /media/hdd2/Sauvegardes/Sauvegarde_Photos/ >>./Liste_Jpeg.txt
 		if [ $branche = oui ]
 			then
 			rsync -vaz $repcp /media/usbdisk/Sauvegardes/Sauvegarde_Photos/ >>./Liste_Jpeg.txt
 		fi
		done
	n=$(($n+1))
	done
	echo $var >>/media/hdd2/Sauvegardes/Sauvegarde_Photos/listerep.txt
	echo $(date +%d/%m/%y) >>/media/hdd2/Sauvegardes/Suivi_Sauvegardes_Photos.txt
	echo $var >>/media/usbdisk/Sauvegardes/Sauvegarde_Photos/listerep.txt
	echo $(date +%d/%m/%y) >>/media/usbdisk/Sauvegardes/Suivi_Sauvegardes_Photos.txt 
	echo "#######Sauvegarde des répertoires photos à jour"
else
echo "######Il n'y a pas de sauvegarde de fichiers photos à faire"
fi
echo "Fin"
echo $(date)
exit 0

Certaines procédures pourront sembler rudimentaire mais débutant en bash le sujet m'a servi d'exercice d'application alors soyez indulgent. Je suis cependant à l'écoute de toutes vos remarques.

Dernière modification par Teofifil (Le 29/03/2007, à 21:03)

Hors ligne

#85 Le 12/03/2007, à 14:27

Micnight

Re : [HowTo] Sauvegarder son "home" avec rsync

Oula il n'y a rien de rudimentaire a ce que tu as fait ^^ C'est excellent... j'ai essayer déjà de comprendre ce que tu as fait... je pense m'en être plutôt bien sorti big_smile ^^ Pour un débutant chapo... j'aimerais bien l'être comme ça !

J'ai juste pas vraiment bien bien compris à partir de là :

#Boucle qui permet de régler le problème de la sauvegarde en janvier de répertoires téléchargés en décembre de l'année précédente

Mais bon ça ça doit être sûrment parce que je débute encore plus que toi en bash et les boucles et moi ça fait 12 -_-

En tout cas excellent ton script... très très complet, tu verifie tout et tout...nikel ,j'ai d'ailleurs appris quelque fonction avec ton script c'est cool merci à toi ^^ Je ne peux en tout cas pas t'aider à l'améliorer il est déjà au dessus de ce que je puisse faire.

Hors ligne

#86 Le 12/03/2007, à 19:19

soupaloignon

Re : [HowTo] Sauvegarder son "home" avec rsync

Re les gens big_smile

Et bien, que de nouvelles choses dans ce sujet. Il serait peut être temps d'en faire une synthese justement ?
Sorbus (et/ou d'autres) toujours  partant ?

A+


==> Libérez les huitres du bassin d'Arcachon <==

Hors ligne

#87 Le 12/03/2007, à 19:34

Micnight

Re : [HowTo] Sauvegarder son "home" avec rsync

Moi j'utilise pas trop rsync pour pouvoir en faire une page du wiki jpense... jpeux aider pour quelques truc mais c'est vrai que là la semaine prochaine c'est bac blanc pour moi donc j'v bosser un peu jpense lol:P

Hors ligne

#88 Le 13/03/2007, à 21:45

Sorbus

Re : [HowTo] Sauvegarder son "home" avec rsync

Salut !

Oui, il s'en passe des choses sur ce fil.
Toujours partant Soupaloignon !
Je suis juste un peu court en temps durant quelques semaines, mais en avril, ça devrait faire.
Il faudrait se faire une sorte de plan des pages de documentation à réaliser à partir de ce fil... et se répartir la rédaction.
Peut-être aussi prévenir sur la liste de discussion du wiki qu'on va faire ça. T'es abonné ? Sinon, je le ferai.

Pour ton bash teofifil, je suis moi aussi loin du compte pour pouvoir t'apporter quelque chose...
Tu l'as testé ? Il est fonctionnel et les sauvegardes se font comme tu le souhaites ?
Je vais plutôt apprendre avec ce que tu proposes.

Juste une chose, sur cette partie... je ne suis pas très bien la logique :

#Sauvegarde de la partition /home/eric avec des exceptions portant sur le répertoire de téléchargement des photos, la poubelle (.Trash)....
    sudo rsync -vaz --delete --update --verbose --progress --exclude "- .kde/" --exclude "- Telechargement_Photos/" --exclude "- .thumbnails/" --exclude "- .Trash/" --filter "- cache/" --filter "- CACHE/" --filter "- Cache/" --filter "- lost+found/" --filter "- tmp/" --filter "- *.*~" /home/eric/ /tmp/Sauvegarde_Home
#Compression de la sauvegarde
    echo -e "\n"
    echo "CRÉATION ET STOCKAGE DE L'ARCHIVE"
    tar -zcvf /tmp/Sauvegarde_Home.tar.gz /tmp/Sauvegarde_Home
#Écrasement de la précédente sauvegarde
    archive1=/media/hdd2/Sauvegardes/Sauvegarde_Home/Sauvegarde_Home.tar.gz
    archive2=/media/usbdisk/Sauvegardes/Sauvegarde_Home/Sauvegarde_Home.tar.gz
    if [ $branche = oui ] && [ -e "$archive2" ]
        then
        rm $archive2

rsync, avec l'option "a" permet de faire une sauvegarde incrémentielle, mais cela n'a d'intérêt que si elle trouve sur la destination la sauvegarde précédente, pour modifier et compléter seulement ce qui doit l'être.
Si chaque fois la sauvegarde est ensuite compressée, puis déplacée, lors de la sauvegarde suivante, rsync ne trouve aucune ancienne sauvegarde sur la destination et recommence la totalité de la sauvegarde...
... on ne voit plus l'intérêt de la sauvegarde incrémentielle... ou quelque chose m'échappe. Combien de temps durent tes sauvegardes de '/home' chaque fois ?

@Micnight : bon courage pour le bac blanc wink

A bientôt

Dernière modification par Sorbus (Le 13/03/2007, à 22:00)

Hors ligne

#89 Le 14/03/2007, à 09:55

Teofifil

Re : [HowTo] Sauvegarder son "home" avec rsync

Sorbus a écrit :

Salut !

Tu l'as testé ? Il est fonctionnel et les sauvegardes se font comme tu le souhaites ?

Oui.

Sorbus a écrit :

Juste une chose, sur cette partie... je ne suis pas très bien la logique :

#Sauvegarde de la partition /home/eric avec des exceptions portant sur le répertoire de téléchargement des photos, la poubelle (.Trash)....
    sudo rsync -vaz --delete --update --verbose --progress --exclude "- .kde/" --exclude "- Telechargement_Photos/" --exclude "- .thumbnails/" --exclude "- .Trash/" --filter "- cache/" --filter "- CACHE/" --filter "- Cache/" --filter "- lost+found/" --filter "- tmp/" --filter "- *.*~" /home/eric/ /tmp/Sauvegarde_Home
#Compression de la sauvegarde
    echo -e "\n"
    echo "CRÉATION ET STOCKAGE DE L'ARCHIVE"
    tar -zcvf /tmp/Sauvegarde_Home.tar.gz /tmp/Sauvegarde_Home
#Écrasement de la précédente sauvegarde
    archive1=/media/hdd2/Sauvegardes/Sauvegarde_Home/Sauvegarde_Home.tar.gz
    archive2=/media/usbdisk/Sauvegardes/Sauvegarde_Home/Sauvegarde_Home.tar.gz
    if [ $branche = oui ] && [ -e "$archive2" ]
        then
        rm $archive2

rsync, avec l'option "a" permet de faire une sauvegarde incrémentielle, mais cela n'a d'intérêt que si elle trouve sur la destination la sauvegarde précédente, pour modifier et compléter seulement ce qui doit l'être.
Si chaque fois la sauvegarde est ensuite compressée, puis déplacée, lors de la sauvegarde suivante, rsync ne trouve aucune ancienne sauvegarde sur la destination et recommence la totalité de la sauvegarde...
... on ne voit plus l'intérêt de la sauvegarde incrémentielle... ou quelque chose m'échappe. Combien de temps durent tes sauvegardes de '/home' chaque fois ?

Remarque très judicieuse concernant l'option a. L'explication que je peux donner est la suivante: j'ai d'abord tester rsync et les différentes options ensuite j'ai fait le reste sans plus me soucier de rsync d'où l'incohérence que tu as noté. Je vais de ce pas faire les modifs.
Pour le durée de la sauvegarde je vais chronométrer la prochaine fois. En fait j'ai réduit la taille (et donc le temps) de sauvegarde de mon /home en traitant à part les fichiers photos; dans ce cas je ne sauvegarde que les derniers téléchargements.

Micnight: Pour l'aspect rudimentaire: je pense par exemple qu'il existe une commande pour tester le branchement d'un disque usb mais je ne l'ai pas trouvé alors je teste simplement la création du répertoire après montage de la partition.
Concernant le mois de décembre et l'année: si j'ai 2 répertoires de photos non encore sauvegardés du style 2006-12-24-hh-mm-ss et 2007-01-04-hh-mm-ss et que j'effectue ma sauvegarde le 10/01/07 la fonction annee() renverra 2007 et la commande find ne trouvera que le répertoire 2007-01-04-hh-mm-ss et le programme ne sauvegardera que celui-ci. Il faut donc que dans ce cas annee prenne la valeur 2006 pour que find recherche tous les répertoires 2006* plus récent (option newer) que le dernier sauvegardé lors de la précédente opération de sauvegarde. C'est un peu indigeste mais je l'espère clair.

Dernière modification par Teofifil (Le 14/03/2007, à 10:00)

Hors ligne

#90 Le 14/03/2007, à 15:56

Micnight

Re : [HowTo] Sauvegarder son "home" avec rsync

Ah ui c'est bon merci maintenant j'ai compris ^^ Ohh jdirais pas rudimentaire jdirais malin wink

Merci je vais essayer de gérer le bac blanc hmmlol

Hors ligne

#91 Le 14/03/2007, à 19:45

Sorbus

Re : [HowTo] Sauvegarder son "home" avec rsync

Teofifil,

Pour tes modifs concernant les options rsync,

"a" équivaut à "rlptgoD"

Il me semble que le fonctionnement incrémentiel est permis par l'option "r", mais nous avons peu discuté de cette option sur ce fil. Nous l'avons tous adopté pour l'instant  (elle est même par défaut dans Grsync), parce que la sauvegarde incrémentielle est pour nous l'un des principaux intérêt de rsync.

Pour ton usage, il faudrait voir ce que ça donne en remplaçant "a" par "lptgoD"
(ce qui revient à enlever "r")... à tester.

@+

Hors ligne

#92 Le 14/03/2007, à 21:08

Teofifil

Re : [HowTo] Sauvegarder son "home" avec rsync

Bonsoir,

Sorbus merci pour tes remarques.

Je dois confesser que j'ai suivi la discussion au départ puis je me suis inspiré de vos différentes réponses et des infos du site:
http://man.developpez.com/man1/rsync.1.php (adresse fournie par un des intervenants) pour définir les options de rsync. Pour l'utilisation que j'avais au départ de rsync utiliser les options vaz me semblait cohérent. Ensuite je me suis focalisé sur mon script et j'ai considéré que les options définies au départ étaient toujours les bonnes même si le contexte général avait changé.

En fait un rsync tout court devrait suffire si on fait confiance au système. Par contre l'option:
- delete peut être utile s'il y a plusieurs sauvegardes sans effacement du /tmp (quand le PC reste allumé en permanence)
- update même remarque que pour delete
- verbose et progress peuvent être retirées
- par contre ENORME intérêt de exclude et de filter qui permettent d'alléger la sauvegarde en excluant des répertoires totalement inutiles (à mes yeux) comme la poubelle ou mon répertoire de photo qui représente mini 5 Go.

Je suis conscient de ne pas avoir apporter de réponses sur le fonctionnement de rsync mais une fois mon script achevé je voulais vous renvoyer la balle en vous fournissant une possibilité d'automatiser la sauvegarde. C'est un sujet qui me tenait à cœur depuis un certain temps et j'ai trouvé sur ce fil les infos qui me manquaient pour optimiser mes sauvegardes.

Hors ligne

#93 Le 14/03/2007, à 23:03

Sorbus

Re : [HowTo] Sauvegarder son "home" avec rsync

OK Teofifil...
... et merci pour le renvoi de la balle wink
ça enrichie encore cette discussion, et ça diversifie les propositions pour que chacun trouve des idées pour son propre usage.

Bien d'accord aussi sur le très grand intérêt de exclude et filter.

Dernière modification par Sorbus (Le 14/03/2007, à 23:03)

Hors ligne

#94 Le 15/03/2007, à 17:53

soupaloignon

Re : [HowTo] Sauvegarder son "home" avec rsync

A propos de l'option "exclude", quelqu'un a des infos sur la manière de le gérer, mais à partir d'un fichier texte ?
Parce que les différents tests que j'ai fais jusqu'à présent se sont soldés par des échecs big_smile

Dernière modification par soupaloignon (Le 15/03/2007, à 17:54)


==> Libérez les huitres du bassin d'Arcachon <==

Hors ligne

#95 Le 15/03/2007, à 20:50

Teofifil

Re : [HowTo] Sauvegarder son "home" avec rsync

soupaloignon a écrit :

A propos de l'option "exclude", quelqu'un a des infos sur la manière de le gérer, mais à partir d'un fichier texte ?
Parce que les différents tests que j'ai fais jusqu'à présent se sont soldés par des échecs big_smile

En utilisant les commandes tail et/ou head pour sortir les lignes qui t'intéresse avec une boucle du type (j'ai repris un exemple de mon script qu'il te faudra adapter big_smile ):

for var in $(tail -n 1 /media/hdd2/Sauvegardes/listerep.txt); do
lastrep=$var/ 
done

le fichier listerep.txt contenant les répertoires à exclure
la variable lastrep contenant le répertoire que tu as sélectionné au moyen de var
Scusi je suis fainéant et je n'ai pas changé le nom des variables que j'ai utilisé

Ensuite dans le commande rsync du devrait avoir quelque chose comme ça:

rsync ..... --exclude "- $lastrep"

Je n'ai pas testé cependant le plus dur est l'interprétation de la commande; il te faudra peut être mettre $(lastrep) par exemple.

En espérant t'avoir fourni une piste

Edit: la nuit porte conseil. La piste que je t'ai fourni plus haut sous entendrait en fait de gérer un seul répertoire.
Par contre il faudrait essayer de créer une variable dont la valeur passerait successivement de :

--exclude "- trash/" à --exclude"- trash/" --exclude"- eryt/" ....--exclude"- dfg/"

et ceci en utilisant une boucle for comme plus haut, le problème restant l'interprétation du shell sur la commande rsync.
Je vais tester cette piste et si je trouve une solution je te la fournirait. En attendant je vais me replonger sur mon script car j'ai une petit souci (j'ai du trop le simplifier pour le mettre en ligne et il me fait un caprice).

Dernière modification par Teofifil (Le 16/03/2007, à 09:23)

Hors ligne

#96 Le 03/04/2007, à 23:14

Barsanuphe

Re : [HowTo] Sauvegarder son "home" avec rsync

Dieu bénisse rsync. J'ai un backup de toute ma musique sur un disque usb externe, et maintenant, quand je bouge des fichiers, que je change leurs tags, ou que je les renomme, un coup de rsync et paf! la sauvegarde est à jour.
Merci pour ce thread qui m'a bien aiguillé.

Hors ligne

#97 Le 28/04/2007, à 20:08

Sorbus

Re : [HowTo] Sauvegarder son "home" avec rsync

Bonsoir,
Petits tests de mes scripts de sauvegarde après passage à feisty :
- sur mon fixe
- sur mon portable.

D'abord, la partition fat32 du disque dur externe n'est pas nommée de la même façon sous Feisty que sous Edgy.
Sous Edgy c'était "usbdisk"
Sous Feisty, c'est "disk"
... je n'avais pas fait attention à ça lors du premier lancement de la sauvegarde... Je passe les détails... Après avoir patiné un peu, j'ai remplacé "usbdisk" par "disk" dans le script... Mais il me reste un problème : le fichier d'erreur est rempli de

rsync: chgrp "/media/disk/..." failed: Operation not permitted (1)

Ceci pour chaque fichier.

La sauvegarde de "/home" d'une partition ext3 vers une partition ext3 se fait toujours sans problème.
Le difficulté concerne les sauvegardes de fat32 vers fat32 (alors que ça se passait bien jusqu'à présent)... Je n'ai pas trouvé la solution pour l'instant.

[Edit 9 juin : cette question ne concernant pas la sauvegarde de /home de ext3 vers ext3, elle est hors sujet ici... pour les sauvegardes de vfat vers vfat... (fat32), voir un autre fil ici : http://forum.ubuntu-fr.org/viewtopic.php?id=86480 ]

Ensuite, sur mon portable... l'expérience aidant, j'ai tout de suite modifié dans le script le nom de la partition de sauvegarde ("disk" au lieu de "usbdisk")... et tout s'est très bien passé :
- sauvegarde de "/home" de ext3 vers ext3
- sauvegarde des profils Thunderbird et Firefox de fat32 vers fat32.

Reste donc le problème du fixe... je cherche neutral

@+

Dernière modification par Sorbus (Le 09/06/2007, à 13:37)

Hors ligne

#98 Le 28/04/2007, à 20:52

soupaloignon

Re : [HowTo] Sauvegarder son "home" avec rsync

Sorbus, je passe en Feisty dans le courant de la semaine prochaine, je teste mes scripts de sauvegarde, ensuite on se finalise ce fameux tuto ? big_smile

Edit : sinon tu as rencontré des problemes particulier lors du passage ? Tu as fait quoi, une reinstall ou une mise à jour ?

Dernière modification par soupaloignon (Le 28/04/2007, à 20:57)


==> Libérez les huitres du bassin d'Arcachon <==

Hors ligne

#99 Le 28/04/2007, à 21:30

Sorbus

Re : [HowTo] Sauvegarder son "home" avec rsync

Bonsoir soupaloignon,

Aucun problème lors du passage à Feisty. Plus précisément, aucun problème pour le portable (architecture amd64).
Pour le fixe, j'ai du refaire une petite manip simple pour que mon vieux scanneur scsi soit à nouveau reconnu... et le problème ci-dessus pour la sauvegarde de vfat vers vfat.

Je ne pensais pas que le passage à Feisty serait aussi simple. Je n'ai pas fait de réinstall, mais une simple mise à niveau.

OK pour le tuto.

(...) on ne s'encombrera pas des problèmes de sauvegarde de vfat vers vfat : ça ne concerne pas "/home"... ça pourrait être l'objet d'autres tutos... par exemple :
- sauvegarde de firefox (ou au moins du marque page)... et idem pour Konqueror
- sauvegarde de Thunderbird, Evolution...
- sauvegarde d'une partition partagée Ubuntu/Windows en fat32 contenant "mes documents"...
Ce sont toutes des sauvegardes importantes... mais pour l'instant je propose de laisser ces chantiers à d'autres volontaires tongue

Je reste sceptique en ce qui concerne l'usage de rsync de vfat vers vfat... même si ça a bien marché pour moi pendant plusieurs mois sur mon fixe.

[Edit 29/04 : j'enlève de ce message les éléments concernant l'élaboration du futur tuto sur la sauvegarde de "/home" pour ne pas parasiter ce fil de discussion... Je laisse les éléments ci-dessus pour donner l'idée à ceux qui liront ces lignes de s'attaquer à d'autres tutos sur d'autres sauvegardes utiles...]

@+

Dernière modification par Sorbus (Le 29/04/2007, à 20:29)

Hors ligne

#100 Le 28/04/2007, à 22:58

soupaloignon

Re : [HowTo] Sauvegarder son "home" avec rsync

Tu as une adresse jabber pour que l'on puisse continuer à dial par ce moyen ? Inutile de polluer ce fil de discussion pour la mise en place du tuto

soupaloignon@jabber.fr


==> Libérez les huitres du bassin d'Arcachon <==

Hors ligne