-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Salut Christophe,
cp -Rv a/ b/ | while read; do echo -n "."; done Ca devrait tourner sous MacOSX si y'a du bash. A+ Cyril On 09/30/2011 02:23 PM, Christophe Pochon wrote: > Bonjour ! > > Je me suis mis en tête de réaliser un script pour automatiser la > sauvegarde des données essentielles des utilisateurs sur le réseau > de mon entreprise. Le contexte, c'est que dans deux semaines je > vais installer un nouveau serveur et je veux éviter de récupérer > l'intégralité des homes des utilisateurs, pour éviter d'importer > des trucs qui ne servent à rien ou qui pourrait foutre le bordel. > > Je veux que ce soit les utilisateurs qui lancent chacun le script, > qui va créer un fichier zip qu'ils vont manuellement copier sur une > clef USB. Quand le nouveau serveur sera en route, ils vont ouvrir > leur nouvelle session (avec sans doute un identifiant différent de > l'actuel) et lancer un autre script (qui sera avec mon zip sur leur > clef), qui va tout remettre où ça doit. > > Comme je ne suis pas un monstre niveau expérience dans les scripts, > j'ai passé pas mal d'heures à faire un truc qui fonctionne. Et ça > fonctionne ! Ca copie tout ce que je veux sauvegarder dans un > répertoire temporaire, puis ça fait un zip avec le tout et ensuite > ça efface les données temporaires et ça génère le script pour > l'import. > > Mais comme je suis perfectionniste, j'ai voulu modifier mon script > pour qu'il donne un feedback un peu plus parlant aux utilisateurs. > Je voudrais mettre pour chaque groupe de copie de fichiers, puis > pour la génération du zip, une sorte de "progress bar", en fait, > avec juste des petits "." qui s'alignent côte à côte, pour que > l'utilisateur se rende compte que mon script est bien en train de > travailler, qu'il n'a pas planté. Ma foi, si ça copie un fichier de > 4GB, ben y aura quand même qu'un petit point, mais c'est mieux que > rien. Donc l'idée s'était de récupérer la sortie "verbeuse" de la > commande "cp", et transformer chaque ligne de ladite sortie en un > petit point. En faisant : > > cp -Rv $HOME/Documents /Users/Shared/temp/ | sed s/^.*$/./ > > Ca fonctionne à peu près, sauf que ça me met un retour à la ligne > après chaque "." alors que les voudrais côte à côte. > > En faisant : > > cp -Rv $HOME/Documents /Users/Shared/temp/ | sed s/^.*$/./ | tr -d > '\n' > > Ca me donne le résultat désiré, mais d'un bloc ! Ca fait toutes > les copies, et à la fin j'ai plein de petits points qui > apparaissent d'un seul coup. > > Alors, après des heures de recherches sur le net, je me dis qu'il y > a bien un gourou sur cette liste qui va me pondre une solution en > deux coups de cuiller à pot.... > > Dites-moi si vous voulez voir tout mon script. > > Ah, et c'est loin d'être un détail : ce script doit tourner sous > OSX !!! > > Merci mille fois ! > > Christophe Pochon http://www.christophe-pochon.com > > > > _______________________________________________ gull mailing list > [email protected] > http://forum.linux-gull.ch/mailman/listinfo/gull -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.11 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iEYEARECAAYFAk6FueEACgkQlYy8cEwUMaQslACfQuiWtbBz7Y7AQAMu77vNPavV 85sAn2f4PH41Xyq2UOLWifeivVXUDcdH =31u9 -----END PGP SIGNATURE----- _______________________________________________ gull mailing list [email protected] http://forum.linux-gull.ch/mailman/listinfo/gull
