Pages : 1
#1 Le 05/03/2012, à 20:28
- PengouinPdt
bash, zenity et rsync
Pour ma gentille petite femme, j'ai écrit, il fut un temps, un script de sauvegarde de ses données, que celle-ci soit sur une de ses clés USB, ou son répertoire personnel, vers notre serveur maison (ubuntu lui aussi ;-) ...)
Avec *ubuntu, et surtout Xfce, il me faut maintenant utiliser 'zenity'. (Xdialog n'existant plus...) puisqu'avec xfce, il n'est pas possible d'ouvrir un script en le lançant dans un terminal - comme cela l'est avec Gnome2.
Bref, la réécriture en soit ne m'as pas posé de problèmes particuliers.
Le script est visible sur : http://paste.ubuntu.com/870243/
(bien sûr, les informations dites sensibles ont été *** ;-) ...)
Parmi les options de Rsync que j'utilise, sont '--progress' et '--stats'.
Je pipe rsync avec l'option 'progress' de zenity. (cf : la function sync_choice !)
La question est :
Comment puis-je récupèrer les informations des options 'progress', et 'stats' de Rsync pour les afficher avec zenity ?
Hors ligne
#2 Le 05/03/2012, à 20:59
- sputnick
Re : bash, zenity et rsync
http://library.gnome.org/users/zenity/3 … ns.html.fr
Edit:
En fait sauf erreur, tu peux pas faire qq chose de stable ET rapide. Car pour ca il faut connaitre le nombre de fichiers total du rsync.
Exemple de ligne de "stats" sur
find /usr :
usr/lib/libreoffice/basis3.4/sdk/examples/DevelopersGuide/Components/Thumbs/org/openoffice/comp/test/Makefile
6206 100% 0.00kB/s 0:00:00^M 6206 100% 0.00kB/s 0:00:00 (xfer#11, to-check=1025/54045)
les chiffres 1025/54045 auraient pu être parsés, mais ce chiffre est faux, en effet, il y a 339453 fichiers et répertoires.
Si tu te fout du temps que ça prends, tu peux lancer rsync avec dry-run ( -n ) puis compter les lignes et enfin faire un calcul, mais ça peux prendre du temps si la partition est grosse.
Dernière modification par sputnick (Le 05/03/2012, à 21:10)
On ne peut pas mettre d'array dans un string!
https://sputnick.fr/
Hors ligne
#3 Le 06/03/2012, à 00:24
- PengouinPdt
Re : bash, zenity et rsync
En fait, ce que je cherche à faire - qu'il me semble serait bien, mais peut-être je me trompe -, c'est l'équivalent du chapitre "File and Command Output In Editable Text Box" de cette page "Advanced Application Launchers With Zenity" ...
Comme quoi, je me dis que ça doit être possible, non ?!
Et, puis pourquoi pas à le piper avec un 'zenity -progress' ;-)
Hors ligne
#4 Le 06/03/2012, à 00:47
- sputnick
Re : bash, zenity et rsync
En fait, ce que je cherche à faire - qu'il me semble serait bien, mais peut-être je me trompe -, c'est l'équivalent du chapitre "File and Command Output In Editable Text Box" de cette page "Advanced Application Launchers With Zenity" ...
Comme quoi, je me dis que ça doit être possible, non ?!Et, puis pourquoi pas à le piper avec un 'zenity -progress' ;-)
Hummmmh, c'est comme si tu n'avait pas lu mon post. Je parle bien sur de cette option, je t'en ai expliqué les enjeux... A toi de voir si ca en vaut la peine.
On ne peut pas mettre d'array dans un string!
https://sputnick.fr/
Hors ligne
#5 Le 06/03/2012, à 00:53
- PengouinPdt
Re : bash, zenity et rsync
Hummmmh, c'est comme si tu n'avait pas lu mon post. Je parle bien sur de cette option, je t'en ai expliqué les enjeux... A toi de voir si ca en vaut la peine.
Je crois tout simplement que je ne t'ai pas compris. Donc, je vais me reposer, ça fera du bien.
Ensuite, en l'état des choses, non, je ne crois pas que cela vaut la peine.
Hors ligne
#6 Le 06/03/2012, à 09:20
- PengouinPdt
Re : bash, zenity et rsync
Ce matin, j'ai trouvé ça sur notre forum : http://forum.ubuntu-fr.org/viewtopic.ph … 9#p2465769
Hors ligne
#7 Le 06/03/2012, à 13:33
- PengouinPdt
Re : bash, zenity et rsync
Bon, j'ai réussi à obtenir le résultat que je voulais - en m'aidant des informations que j'ai trouvé ci-dessus.
Si cela intéresse d'aucuns : http://paste.ubuntu.com/871296/
Voili, voilou...
@sputnik : merci, quand même pour ton coup de main ;-)
Hors ligne
#8 Le 06/03/2012, à 18:12
- sputnick
Re : bash, zenity et rsync
Oui, enfin la progression avance, recule, pas tres fiable (le nombre de fichiers totaux augmente en cours de route)... Mais c'est pas si mal pour un problème complexe
On ne peut pas mettre d'array dans un string!
https://sputnick.fr/
Hors ligne
#9 Le 06/03/2012, à 20:18
- PengouinPdt
Re : bash, zenity et rsync
Beh, ce qui m'importe dans un premier temps, c'est surtout d'obtenir les stats en fin de sauvegarde.
Pour cela, j'ai dû rediriger les erreurs - si elles existent - dans un fichier d'erreur, sinon, les stats dans un fichier de log.
Si j'ai pas d'erreur, la sauvegarde s'est bien passée, donc je récupère les infos du log pour les afficher (function display_sync_ending).
De même, que pour mon besoin immédiat, je peux me passer de la function display_progress. (bien que je l'ai laissée).
J'avoue - je ne maîtrise pas du tout awk, mais je suis agréablement surpris par ses facilités.
Pour finir, c'est clair que si je n'avais pas cherché sur le web, je ne serais pas arrivé à ce résultat.
@sputnik: si tu estimes qu'il y a des corrections à apporter, n'hésites pas à les publier ;-)
Hors ligne
#10 Le 06/03/2012, à 20:39
- sputnick
Re : bash, zenity et rsync
@sputnik: si tu estimes qu'il y a des corrections à apporter, n'hésites pas à les publier ;-)
Nan mais depuis le début je te dit que rsync ne donnes pas de bonnes information de progression, c'est ça qui coince. Si le nombre de fichiers affichés par les stats était le bon, ça serais fiable le truc.
On ne peut pas mettre d'array dans un string!
https://sputnick.fr/
Hors ligne
#11 Le 07/03/2012, à 14:36
- PengouinPdt
Re : bash, zenity et rsync
Bon, quoiqu'il en soit, pour être sûr de ne pas le perdre, je le mets à dispo sur mon site :
Hors ligne
Pages : 1