Problèmes avec sauvegarde en ligne de commande via rsync

Rosell

Membre confirmé
26 Octobre 2002
54
0
Bonjour à tous

J'ai posté sur le Forum Mac Os X, mais je ne trouve pas de réponse à mes problèmes.
Quelques pistes ont bien été trouvé, mais le problème principal n'a trouvé aucune réponse.
Peut-être que les lecteurs de ce Forum réussiront à me répondre...

Voici le post original:

Sauvegarde en ligne de commande via rsync
des réponses intéressantes ont aussi été trouvée sur le Forum macbidouille.com


Je précise que je ne veux en aucun cas dénigrer les réponses qui m'ont été apportées jusque là,
mais j'attends que quelqu'un puisse m'aider sur le point n°2:
2°/ Plantage de la sauvegarde
Mes sauvegardes butent sur certains fichiers:
Library/Widgets/Airport Radar.wdgt/AppleClasses/AppleScrollArea.js
Et là, c'est le gel de la commande.
La sauvegarde plante sur ce fichier et ne va pas plus loin.

J'ai testé le script de sauvegarde vers un disque externe en Firewire et pas de souci.

Pour pouvoir tout de même effectuer mes sauvegardes, j'ai modifié ma ligne de commande en ajoutant un
Bloc de code:
--exclude "Library/Widgets/"
Et la sauvegarde à cette fois planté sur un .gif contenu dans mon dossier Images.

Je désespère de pouvoir un jour lancer cette commande de sauvegarde.
 
Les tests et essais se succèdent...

Mon script fonctionne très bien,
je l'ai testé avec comme dossier cible, un dossier situé sur un mac distant donc formaté en HFS+ et monté en afp.

Toutes vos infos concernant l'utilisation de rsync vers un volume formaté en xfs sont les bienvenus!
 
Elle dit quoi la commande quand elle gèle ?

Pourquoi tu montes un volume pour faire du rsync ? il le fait directement sans monter si tu l'as de l'autre côté.

Tu as songé à l'option -z histoire d'archiver, le dernier recours contre les différents FS ? c'est pas toujours possible je sais, mai si c'est de la pure sauvegarde…
 
Elle dit quoi la commande quand elle gèle ?
Voilà la commande:
Bloc de code:
rsync -avvvv --delete --exclude "Library/Caches"  --exclude "Library/Cookies/"  --exclude "Library/Logs/" --exclude "Library/Widgets/" --exclude "Deleted Messages.mbox" --exclude ".Trash/" "${source}" "${cible}" >> $rapport
Un rapport est créé dans un fichier .txt grâce à l'option -vvvv.
Voici le début, des lignes étranges et la fin de ce rapport:

[receiver] add_exclude(Library/Caches, exclude)
[receiver] add_exclude(Library/Cookies/, exclude)
[receiver] add_exclude(Library/Logs/, exclude)
[receiver] add_exclude(Library/Widgets/, exclude)
[receiver] add_exclude(Deleted Messages.mbox, exclude)
[receiver] add_exclude(.Trash/, exclude)
cmd= machine= user= path=/Volumes/eric/BACKUP/backup_iBook/
cmd=. /Volumes/eric/BACKUP/backup_iBook/
(Client) Protocol versions: remote=28, negotiated=28
building file list ...
[sender] make_file(.,*,2)
[sender] expand file_list to 131072 bytes, did move
[sender] make_file(.bash_history,*,2)
[sender] make_file(.CFUserTextEncoding,*,2)
[sender] make_file(.DS_Store,*,2)
....
[sender] popping per-dir .cvsignore exclude list
....
[sender] make_file(Documents/Divers/Nokia N70,*,2)

Puis blocage.
Je précise que la ligne [sender] popping per-dir .cvsignore exclude list revient très souvent!!!
Quand je ferme la fenêtre du terminal pour mettre fin au processus, mon rapport affiche alors:

_exit_cleanup(code=20, file=/SourceCache/rsync/rsync-24.1/rsync/rsync.c, line=231): entered
_exit_cleanup(code=13, file=/SourceCache/rsync/rsync-24.1/rsync/log.c, line=222): entered
_exit_cleanup(code=13, file=/SourceCache/rsync/rsync-24.1/rsync/log.c, line=222): entered
_exit_cleanup(code=13, file=/SourceCache/rsync/rsync-24.1/rsync/log.c, line=222): entered
_exit_cleanup(code=13, file=/SourceCache/rsync/rsync-24.1/rsync/log.c, line=222): entered
_exit_cleanup(code=13, file=/SourceCache/rsync/rsync-24.1/rsync/log.c, line=222): entered
_exit_cleanup(code=13, file=/SourceCache/rsync/rsync-24.1/rsync/log.c, line=222): entered
_exit_cleanup(code=13, file=/SourceCache/rsync/rsync-24.1/rsync/log.c, line=222): entered
_exit_cleanup(code=13, file=/SourceCache/rsync/rsync-24.1/rsync/log.c, line=222): entered
_exit_cleanup(code=13, file=/SourceCache/rsync/rsync-24.1/rsync/log.c, line=222): entered
_exit_cleanup(code=13, file=/SourceCache/rsync/rsync-24.1/rsync/log.c, line=222): entered
_exit_cleanup(code=13, file=/SourceCache/rsync/rsync-24.1/rsync/log.c, line=222): about to call exit(13)



Pourquoi tu montes un volume pour faire du rsync ? il le fait directement sans monter si tu l'as de l'autre côté.
Mon NAS est un LaCie EDmini avec je crois un Debian embarqué (les sources sont sur le site de LaCie), mais je ne sais pas comment installer "rsync server" dessus. Je ne sais même pas si cela est possible et je n'y connais rien en unix.
De plus, je préfère être indépendant d'un serveur rsync.
Cela me permet de réutiliser un script similaire pour faire mes sauvegardes vers un disque externe via Firewire.

Tu as songé à l'option -z histoire d'archiver, le dernier recours contre les différents FS ? c'est pas toujours possible je sais, mai si c'est de la pure sauvegarde…
Je vais ré-essayer, mais il me semble avoir mis -z dans mes premiers scripts et je n'ai jamais vu la différence. Cette option est bien sensée me créer un fichier .zip ou .tar avec dedans ma sauvegarde, non?
 
Oublie le vvvv un simple v (voire vv mais perso je n'aime guère) est nettement plus lisible.

Mmmhh je vois que tu as plusieurs --exclude, il serait bon de faire un fichier avec la liste dedans* (un simple fichier texte avec la liste des patterns, ce que je fais et très pratique, plutôt que d'updater ta commande) et de le passer dans exclude, un petit exemple podcasté ici. Perso j'éviterais les espaces dans un pattern.

le -z te fait un tgz via tar & gzip (ça bouffe du cpu…) mais précise la DEST avec un nom finissant par .tgz

*Selon le man:


--exclude=PATTERN
This option allows you to selectively exclude certain files from
the list of files to be transferred. This is most useful in com-
bination with a recursive transfer.

You may use as many --exclude options on the command line as you
like to build up the list of files to exclude.

See the EXCLUDE PATTERNS section for detailed information on
this option.


--exclude-from=FILE
This option is similar to the --exclude option, but instead it
adds all exclude patterns listed in the file FILE to the exclude
list. Blank lines in FILE and lines starting with ';' or '#'
are ignored. If FILE is - the list will be read from standard
input.
 
Oublie le vvvv un simple v (voire vv mais perso je n'aime guère) est nettement plus lisible.
Normalement, je ne mets que -v.
Le -vvvv était pour te donner le plus d'infos possible!!!

Mmmhh je vois que tu as plusieurs --exclude, il serait bon de faire un fichier avec la liste dedans* (un simple fichier texte avec la liste des patterns, ce que je fais et très pratique, plutôt que d'updater ta commande) et de le passer dans exclude, un petit exemple podcasté ici. Perso j'éviterais les espaces dans un pattern.
Désolé, mais j'arrive pas à créer un fichier d'exclusion.
Mon fichier ne contient qu'une seule ligne qui commence par "- ", sans les guillemets bien sûr.
Et avec le chemin des dossiers à exclure.
Il y a une syntaxe particulière à respecter??

le -z te fait un tgz via tar & gzip (ça bouffe du cpu…) mais précise la DEST avec un nom finissant par .tgz
Sans succès!!!
 
Oublie le vvvv un simple v (voire vv mais perso je n'aime guère) est nettement plus lisible.
Normalement, je ne mets que -v.
Le -vvvv était pour te donner le plus d'infos possible!!!

Mmmhh je vois que tu as plusieurs --exclude, il serait bon de faire un fichier avec la liste dedans* (un simple fichier texte avec la liste des patterns, ce que je fais et très pratique, plutôt que d'updater ta commande) et de le passer dans exclude, un petit exemple podcasté ici. Perso j'éviterais les espaces dans un pattern.
Désolé, mais j'arrive pas à créer un fichier d'exclusion.
Mon fichier ne contient qu'une seule ligne qui commence par "- ", sans les guillemets bien sûr.
Et avec le chemin des dossiers à exclure.
Il y a une syntaxe particulière à respecter??

**MAJ: a y est, une sombre histoire de chemin de fichier.
Les chemins à mettre dans le fichier doivent être des chemins relatifs!!!!!!!
et pas de type $HOME/Desktop/...

le -z te fait un tgz via tar & gzip (ça bouffe du cpu…) mais précise la DEST avec un nom finissant par .tgz
Sans succès!!!
 
mes confuses -v compresse pendant le transfert seulement, j'utilise tar dans mes scripts avant…