Backup, Time Machine, Rex, prise de tete |
lun. 3 mars 2008, 14:51
Message
#11
|
|
pouet-pouet Groupe : Members Messages : 4,577 Inscrit : 09 janv. 03 Lieu : Ciré D Aunis - FR Membre no 10,621 |
edit:
Bon c'est pas si simple... je teste le script generator en donnant uniquement source / destination option incremencielle et quand je lance le script il me cha,te un truc du genre CODE Rsync error: syntax or usage error (code 1) at /sourceCache/rsync/rsync-30/rsync/main.c(1099) Je sais pas bien ce que ça veut dire... Sinon je cree un script pour tester le scheduler et je ne peux plus l'enlever, ni le modifier.. bref. Je vais continuer de fouiller. Ce message a été modifié par saturax - lun. 3 mars 2008, 14:53. -------------------- ---SaturaX---
|
|
|
lun. 3 mars 2008, 18:30
Message
#12
|
|
Webmaster Groupe : Admin Messages : 3,204 Inscrit : 29 oct. 00 Lieu : Sommieres - FR Membre no 11 |
OK bon je viens de tester RsyncX ça a l'air plutot simple, j'ai lancé une syncro entre A et C (B étant pour l'instant le disque time machine ) il y avait une difference d'une 10aine de mega, mais il a tout re copié, et je pense que c'est dut au fait que j'ai coché l'option "archive" au lieu de update bref. t'es sur que t'a bien comparé la taille reelle en Octets (en faisant pomme I) et pas la taille arrondie des fenetre de finder... QUOTE En revanche je ne trouve pas comment lui donner deux destinations.. Peut etre faut il que je fasse deux scripts different: 1 de A vers B et un second de A vers C et de l'alterner dans le scheduler? precisement 2 ligne de commande dans un seul script. QUOTE Jusqu'a maintenant, j'ai pas encore vu ou j'allais devoir me taper du terminal, tout à l'air d'etre faisable depuis la GUI.. En fait, tu t'en sert sans t'en apercevoir. Dans Rsync (a ce que j'ai lu rapidement de la doc), tu as un mode ou au lieu de faire l'action immediatement, tu créé un fichier qui s'appelle xxx.command Puis quand tu double click sur ce fichier, ca lance la commande rsync que tu avais etabli depuis la GUI de rsyncX. Ce fichier est en fait un script tres simple de 2 lignes: Pour l'editer, il te suffit d'ouvrir ce fichier dans TextEdit. Tu y verra sans doute 2 lignes: CODE #!/bin/bash rsync aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa - la premiere ligne indique que ce fichier est un script bash (t'as pas a comprendre ca, juste tu le laisse) - la deuxieme ligne est la commande rsync proprement dite (celle que tu as défini depuis la GUI de rsyncX) Donc par exemple pour faire ce que tu voulais, a savoir copier vers tes 2 disques A et B, il faudra simplement generer 2 fichiers (Copie_A.command et CopieB.command) a partir de la GUI de rsync, puis Recreer a la main un nouveau script qui combine les 2 scripts. Notion requise : Ouvrir/Copier/coller/sauver Tu ouvre dans TextEdit copie_A.command et tu rajoute a la fin la ligne rsynbc qui est dans CopieB.command ce qui donnera un truc du genre: CODE #!/bin/bash rsync aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa rsync bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb Tu sauve ca en par exemple copie_A_et_B.command, et te voila avec un nouveau script qui te faira tes 2 copies l'une apres l'autre... Tu peut meme améliorer la chose en faisant: CODE #!/bin/bash echo "Je vais copier dans le disque A, tu peux aller te coucher..." rsync aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa echo "J'ai fini A, je m'occupe de B..." rsync bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb echo "J'ai fini!" Et hop tu viens de faire ton premier script, il ne restera plus qu'a le "Scheduler" (programmer son lancement periodique)... je te montrerais ca, des que tu aura finalisé ton script de backup. edit: Bon c'est pas si simple... je teste le script generator en donnant uniquement source / destination option incremencielle et quand je lance le script il me cha,te un truc du genre CODE Rsync error: syntax or usage error (code 1) at /sourceCache/rsync/rsync-30/rsync/main.c(1099) Je sais pas bien ce que ça veut dire... Qu'il y a un erreur de syntaxe dans la commande rsync qui a été généré par la GUI. Il fut bien comprendre (c'est la limite des GUI pour une commande terminal) que la GUI que tu utilise ne vas pas corriger tes erreurs, et va transformer ca tel quel en ligne de commande (celle que tu vois dans le script généré). Si tu te plante, ne serais ce que d'un espace la ou il ne faut pas en mettre, ca peut faire un resultat tres different ou meme provoquer une erreur. Je te conseille donc de faire des essais avec des choses tres simple (genre tu met deux dossiers avec quelques fichiers tres petit) et tu fait plein de test en rajoutant un parametre a la fois a chaque fois... tu verra bien d'ou viens l'erreur. Une erreur frequente c'est d'avoir un espace dans un nom de dossier ou de fichier. exemple: mettons la commande cp (qui fait une copie) cp dossier_a dossier_b pas de probleme, ca copie bien le dossier_a dans le dossier_b si par contre tu fait cp dossier a dossier b ca fait pas ce que tu attend : ca fait copie du dossier "dossier" dans le dossier "a" et en meme temps ca te fait une erreur pasque t'a ecris "dossier b" a un endroit ou il devrait deja plus rien y avoir... Capito? La parade dans ce ca precis serai de faire: CODE [i]cp dossier\ a dossier\ b parce que le "\ " indique que l'espace qui suit n'est pas un espace qui separe la source de la destination, mais bel et bien le caractere espace dans le nom du dossier... C'est pour ca que je t'invite a faire tout tes essais depuis un exemple simple, avec des dossier au premier niveau des disque, avec des nom de dossiers et de fichiers sans espace et sans accents... De la une fois que t'a ton script qui est comme tu veux, tu essaye de changer les source et destination par ceux qui 'interresse au final et si ca marche pas, tu me poste le tout ici. QUOTE Sinon je cree un script pour tester le scheduler et je ne peux plus l'enlever, ni le modifier.. bref. RTFM ? Des que tu l'aura désactivé, et que ton script faira exactement et parfaitement ce que tu veux, je te donnerai la commande pour le "scheduler".... -------------------- Soif, MacMusic Webmaster
440Software, our new audio software directory _____________________________________ 440Software, notre nouveau site sur les logiciels audio pour Mac, PC et iPhone/iPad |
|
|
mar. 4 mars 2008, 10:39
Message
#13
|
|
pouet-pouet Groupe : Members Messages : 4,577 Inscrit : 09 janv. 03 Lieu : Ciré D Aunis - FR Membre no 10,621 |
Bon merci pour toutes ces explication, pour la doc, j'arrive pas a la trouver a part quelque tips qu'ils donnent en ligne.. Ou as tu trouvé la doc?.. ya rien dans le read me fourni avec.
Le coup du script avec un dossier test je l'avait deja fait voila ce que le script generé raconte: CODE time sudo rsync -a -e ssh "/Volumes/BackupStudio/ESSAI" "/Volumes/BackupA0708/ESSAI" --eahfs --showtogo --update Et ce, sans toucher a grand chose de la fenetre d'edit de script: source, destination, option incrementation. De ce que j'ai lu ici http://archive.macosxlabs.org/rsyncx/details.html , je ne dois pas toucher a grand chose d'autre dans mon cas. Quand je lance la commande j'ai ça: QUOTE Last login: Tue Mar 4 09:52:03 on ttys001 /Users/ServeurStudio/Essai.command ; exit; Serveur-Studio:~ ServeurStudio$ /Users/ServeurStudio/Essai.command ; exit; Password: rsync: --eahfs: unknown option rsync error: syntax or usage error (code 1) at /SourceCache/rsync/rsync-30/rsync/main.c(1099) real 0m4.700s user 0m0.007s sys 0m0.009s logout [Opération terminée] Bon. alors en suivant tes indications, j'ai essayé en modifiant le script comme ça: CODE #!/bin/bash rsync -a -e "/Volumes/BackupStudio/ESSAI" /Volumes/BackupA0708/ESSAI --update (J'ai enlvé les option qu'il n'avait pas l'air de connaitre et les truc qui differaient de ton exemple, juste pour le sport.. Je lance la commande, et v'la qu'il me racconte la vie de Rsync, mais il veut rien savoir... (désolé c'est un peu long): QUOTE Last login: Tue Mar 4 10:30:16 on ttys000 Serveur-Studio:~ ServeurStudio$ /Volumes/BackupStudio/Essai.command ; exit; rsync version 2.6.3 protocol version 28 Copyright © 1996-2004 by Andrew Tridgell and others <http://rsync.samba.org/> Capabilities: 64-bit files, socketpairs, hard links, symlinks, batchfiles, inplace, IPv6, 32-bit system inums, 64-bit internal inums rsync comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to redistribute it under certain conditions. See the GNU General Public Licence for details. rsync is a file transfer program capable of efficient remote update via a fast differencing algorithm. Usage: rsync [OPTION]... SRC [SRC]... [USER@]HOST:DEST or rsync [OPTION]... [USER@]HOST:SRC DEST or rsync [OPTION]... SRC [SRC]... DEST or rsync [OPTION]... [USER@]HOST::SRC [DEST] or rsync [OPTION]... SRC [SRC]... [USER@]HOST::DEST or rsync [OPTION]... rsync://[USER@]HOST[:PORT]/SRC [DEST] or rsync [OPTION]... SRC [SRC]... rsync://[USER@]HOST[:PORT]/DEST SRC on single-colon remote HOST will be expanded by remote shell SRC on server remote HOST may contain shell wildcards or multiple sources separated by space as long as they have same top-level Options -v, --verbose increase verbosity -q, --quiet decrease verbosity -c, --checksum always checksum -a, --archive archive mode, equivalent to -rlptgoD -r, --recursive recurse into directories -R, --relative use relative path names --no-relative turn off --relative --no-implied-dirs don't send implied dirs with -R -b, --backup make backups (see --suffix & --backup-dir) --backup-dir make backups into this directory --suffix=SUFFIX backup suffix (default ~ w/o --backup-dir) -u, --update update only (don't overwrite newer files) --inplace update destination files inplace (SEE MAN PAGE) -K, --keep-dirlinks treat symlinked dir on receiver as dir -l, --links copy symlinks as symlinks -L, --copy-links copy the referent of all symlinks --copy-unsafe-links copy the referent of "unsafe" symlinks --safe-links ignore "unsafe" symlinks -H, --hard-links preserve hard links -p, --perms preserve permissions -o, --owner preserve owner (root only) -g, --group preserve group -D, --devices preserve devices (root only) -t, --times preserve times -S, --sparse handle sparse files efficiently -n, --dry-run show what would have been transferred -W, --whole-file copy whole files, no incremental checks --no-whole-file turn off --whole-file -x, --one-file-system don't cross filesystem boundaries -B, --block-size=SIZE force a fixed checksum block-size -e, --rsh=COMMAND specify the remote shell --rsync-path=PATH specify path to rsync on the remote machine --existing only update files that already exist --ignore-existing ignore files that already exist on receiving side --delete delete files that don't exist on the sending side --delete-excluded also delete excluded files on the receiving side --delete-after receiver deletes after transferring, not before --ignore-errors delete even if there are I/O errors --max-delete=NUM don't delete more than NUM files --partial keep partially transferred files --partial-dir=DIR put a partially transferred file into DIR --force force deletion of directories even if not empty --numeric-ids don't map uid/gid values by user/group name --timeout=TIME set I/O timeout in seconds -I, --ignore-times turn off mod time & file size quick check --size-only ignore mod time for quick check (use size) --modify-window=NUM compare mod times with reduced accuracy -T, --temp-dir=DIR create temporary files in directory DIR --compare-dest=DIR also compare destination files relative to DIR --link-dest=DIR create hardlinks to DIR for unchanged files -P equivalent to --partial --progress -z, --compress compress file data -C, --cvs-exclude auto ignore files in the same way CVS does --exclude=PATTERN exclude files matching PATTERN --exclude-from=FILE exclude patterns listed in FILE --include=PATTERN don't exclude files matching PATTERN --include-from=FILE don't exclude patterns listed in FILE --files-from=FILE read FILE for list of source-file names -0, --from0 all *-from file lists are delimited by nulls --version print version number --daemon run as an rsync daemon --no-detach do not detach from the parent --address=ADDRESS bind to the specified address --config=FILE specify alternate rsyncd.conf file --port=PORT specify alternate rsyncd port number --blocking-io use blocking I/O for the remote shell --no-blocking-io turn off --blocking-io --stats give some file transfer stats --progress show progress during transfer --log-format=FORMAT log file transfers using specified format --password-file=FILE get password from FILE --bwlimit=KBPS limit I/O bandwidth, KBytes per second --write-batch=FILE write a batch to FILE --read-batch=FILE read a batch from FILE --checksum-seed=NUM set block/file checksum seed -E, --extended-attributes copy extended attributes -4, --ipv4 prefer IPv4 -6, --ipv6 prefer IPv6 -h, --help show this help screen Please see the rsync(1) and rsyncd.conf(5) man pages for full documentation See http://rsync.samba.org/ for updates, bug reports, and answers rsync error: syntax or usage error (code 1) at /SourceCache/rsync/rsync-30/rsync/main.c(906) logout Désolé, je fais ce que je peux, mais là... -------------------- ---SaturaX---
|
|
|
mar. 4 mars 2008, 11:39
Message
#14
|
|
pouet-pouet Groupe : Members Messages : 4,577 Inscrit : 09 janv. 03 Lieu : Ciré D Aunis - FR Membre no 10,621 |
Edit: Bon j'avance un peu (avec l'aide de collegues codeurs sous Unix )
Voici ce qu'ils m'ont fait essayer: CODE rsync -a /Volumes/BackupStudio/ESSAI /Volumes/BackupA0708/ESSAI --update ça a fonctionné, mais le probleme c'est qu'il ne synchronise pas, il s'est contenté de faire une copie du dossier "essai" de source dans le dossier "essai" de destination... Quelles option dans la liste au dessus dois-je rajouter à la fin pour qu'il n'ecrive que les nouveaux fichier de la source dans le dossier de destination? J'ai essayé d'enlever le -a mais ça ne change rien... -------------------- ---SaturaX---
|
|
|
mar. 4 mars 2008, 11:54
Message
#15
|
|
pouet-pouet Groupe : Members Messages : 4,577 Inscrit : 09 janv. 03 Lieu : Ciré D Aunis - FR Membre no 10,621 |
Pinaise ça marche!!!
j'ai modifié comme suit: CODE rsync -a -u -r /Volumes/BackupStudio/ESSAI/ /Volumes/BackupA0708/ESSAI/ --archive --update --recursive --progress Vais maintenant modifier les variable de source et destination et faire un test grandeur nature. Apres restera plus qu'a programer ça. J'avais trouvé un soft qui permetait de plannifier des commande faut que je remette la main dessus.. -------------------- ---SaturaX---
|
|
|
mar. 4 mars 2008, 12:43
Message
#16
|
|
pouet-pouet Groupe : Members Messages : 4,577 Inscrit : 09 janv. 03 Lieu : Ciré D Aunis - FR Membre no 10,621 |
Bon je continue mon monologue..
Il y a un petit soucis... tout les fichiers n'ayant pas d'extension (sessions PT, fichiers son SDII ne sont plus reconnus (plus d'icones, plus de liens avec les applis...) ça c'est ennuyeux quand meme... EDIT: En fait j'ai trouvé il suffit de mettre l'option "-E " " --extended-attributes" Un grand merci Soif, c'était pas si hardu que ça et c'est tres gratifiant quand ça fonctionne! J'ai retrouvé le soft de schedule c'est "cronnix" qui permet d'editer le cron sans passer par le terminal. Je teste tout ça et je te tiens au jus. Ce message a été modifié par saturax - mar. 4 mars 2008, 13:09. -------------------- ---SaturaX---
|
|
|
mar. 4 mars 2008, 17:36
Message
#17
|
|
Hero Groupe : Members Messages : 1,143 Inscrit : 04 août 02 Lieu : SUD OUEST - FR Membre no 6,568 |
Bon je continue mon monologue.. … mais non t'es pas tout seul, je suis ce feuilleton de très près… c'est passionant -------------------- déformation professionnelle
|
|
|
mar. 4 mars 2008, 18:36
Message
#18
|
|
Maniac Member Groupe : Members Messages : 934 Inscrit : 24 juin 03 Lieu : Sete - FR Membre no 20,117 |
idem
merci de défricher !! |
|
|
mar. 4 mars 2008, 21:08
Message
#19
|
|
Webmaster Groupe : Admin Messages : 3,204 Inscrit : 29 oct. 00 Lieu : Sommieres - FR Membre no 11 |
code]rsync -a -u -r /Volumes/BackupStudio/ESSAI/ /Volumes/BackupA0708/ESSAI/ --archive --update --recursive --progress [/code] d'apres ce que j'ai lu vite fait dans le man: -a est equivalent a --archive -u est equivalent a --update -r est equivalent a --recursive de plus les options devraient toutes etre place avant la source/destination donc ca devrait etre au final: CODE rsync -a -u -r --progress /Volumes/BackupStudio/ESSAI/ /Volumes/BackupA0708/ESSAI/ A savoir : qaund vous etes dans le terminal, pour avoir le mode d'emploi d'un commande il suffit de tapper: "man commande". ainsi dans le cas de rsync, il faut simplement tapper "man rsync", puis return... apres pour avancer d'une page, faut faire espace, et "Q" pour sortir Il y a un petit soucis... tout les fichiers n'ayant pas d'extension (sessions PT, fichiers son SDII ne sont plus reconnus (plus d'icones, plus de liens avec les applis...) ça c'est ennuyeux quand meme... EDIT: En fait j'ai trouvé il suffit de mettre l'option "-E " " --extended-attributes" (c'est je crois rsyncX qui rajoute justement ce support de HSF+) donc ta commande devrait devenir CODE rsync -a -u -r -E --progress /Volumes/BackupStudio/ESSAI/ /Volumes/BackupA0708/ESSAI/ Je pense egalement que tu devrait mettre --delete qui fait que les fichier qui ne son plus present sur la source sont effacé de la destination. de qui nous fait donc CODE rsync -a -u -r -E --progress --delete /Volumes/BackupStudio/ESSAI/ /Volumes/BackupA0708/ESSAI/ Par contre une fois tes essais faits, tu n'aura plus besoin de mettre --progress, qui t'indique ce qui ce passe (normalement tu regardera ton backup ce daire puisque ca sera une tache CRON, automatique donc on va arriver a: CODE rsync -a -u -r -E --delete /Volumes/BackupStudio/ESSAI/ /Volumes/BackupA0708/ESSAI/ d'ailleurs selon l'usage que tu veux de ton backup, tu pourra peut etre , pour le script final, un backup qui est une copie identique (--delete) sur le disque A et une copie qui garde quand meme les fichiers effacés, sur le disque B. Ca nous fairais donc un script du genre: CODE #!/bin/bash echo "backup a l'identique sur le disque A" rsync -a -u -r -E --delete /Volumes/HD_Audio /Volumes/HD_BackupA/ echo "backup incremental sur le disque B" rsync -a -u -r -E /Volumes/HD_Audio /Volumes/HD_BackupB/ echo "j'ai fini" QUOTE Un grand merci Soif, c'était pas si hardu que ça et c'est tres gratifiant quand ça fonctionne! n'est ce pas... D'ailleurs ca serais pas si sorcier que ca de faire que a chaque backup, ton petit script t'envoie un email si un de tes disque de backup n'a plus que 2Go de libre QUOTE J'ai retrouvé le soft de schedule c'est "cronnix" qui permet d'editer le cron sans passer par le terminal. remarque qu'au terminal c'est pas tellement dur. QUOTE Je teste tout ça et je te tiens au jus. Quand tu auras fini, poste nous ton script, qu'il puisse etre utile a d'autres Au fait un dernier truc, j'ai pas bien compris ta config: t'as combien de macs qui ont combien chacun de HD et lequel tu backup vers ou? Pasque pour l'instant ce que tu fait avec ta commande c'est en local, mais ca peut marche aussi en reseau pour pas bcp plus cher -------------------- Soif, MacMusic Webmaster
440Software, our new audio software directory _____________________________________ 440Software, notre nouveau site sur les logiciels audio pour Mac, PC et iPhone/iPad |
|
|
mer. 5 mars 2008, 15:04
Message
#20
|
|
pouet-pouet Groupe : Members Messages : 4,577 Inscrit : 09 janv. 03 Lieu : Ciré D Aunis - FR Membre no 10,621 |
Bon alors ça marche du feu de dieu, voici ma commande finale:
CODE #!/bin/bash echo "Sauvegarde automatique A en cours" rsync -a -u -E Volumes/BackupStudio/2008/ /Volumes/BackupA0708/2008/ --archive --update --extended-attributes --progress echo "Sauvegarde automatique B en cours" rsync -a -u -E /Volumes/BackupStudio/2008/ /Volumes/BackupB0708/2008/ --archive --update --extended-attributes --progress echo "Sauvegarde automatique terminée" (Pour ceux que ça interesse, il suffit de taper ça dans text edit et de changer l'extension "rtf" en ".command" En fait je ne souhaite pas effacer les sources et comme le backup est identique à la source, on connait forcement l'espace restant. En fait le shema est le suivant: G4 I I (ethernet) l l __Backup secondaire A Mac mini-----Backup principal----I l l__Backup secondaire B l (ethernet) l l G4 Le disque Backup Principal est programmé pour monter directement sur le bureau des G4 à leur boot. On envois nos session PT dessus une fois la post prod terminée. Ensuite, J'ai choppé ConniX, il suffi de selectionner le fichier .command et de choisir jour, heure minute, mois et c'est parti!! Maintenant, je voudrai pouvoir ecrire un rapport de backup dans un fichier RTF pour pouvoir verifier les backup. J'ai essayé la commande --write-batch=[fichier texte] mais ça ne marche pas, il m'a juste ecrit ma ligne de commande dedans.. Ensuite je me demandais si il y avait une commande existante à mettre en fin de script pour qu'il quitte terminal en fin de backup... ça existe? Sinon on peut trouver un manuel français de Rsync ici: http://www.delafond.org/traducmanfr/man/man1/rsync.1.html Sinon j'ai laissé les commande --xxxxx à la fin car l'editeur-foireux- de RsynX les mettait à la fin.. et ça marche, visiblement.. Ce message a été modifié par saturax - mer. 5 mars 2008, 15:06. -------------------- ---SaturaX---
|
|
|
3 utilisateur(s) sur ce sujet (3 invité(s) et 0 utilisateur(s) anonyme(s))
0 membre(s) :