IPB

Bienvenue invité ( Connexion | Inscription )

 
Reply to this topicStart new topic
> [rsync] Comment avoir un sablier ou une barre de progression
Options
Pierrot10
posté 19 Jan 2016, 13:21
Message #1


Adepte de Macbidouille
*

Groupe : Membres
Messages : 201
Inscrit : 19 Jan 2006
Lieu : Genève
Membre no 53 813



Bonjour à tous,

J'ai réussi à faire un petit script qui va monter un dossier distant (Mac vers Ubuntu), puis quand il est monté, il lance la commande:

Code
set mySlug1 to do shell script "rsync -az " & user_folder_1 & " /Volumes/" & server_name & "/" & user_computer & "/"


Tout fonctionne, sauf que j'ai besoin d'avoir une barre de progression ou un sablier, ou autre chose, car mes collègues ont parfois de grosses données (des fois jus'au Tera) a envoyer sur le serveur distant.

Le problème de mon script, c'est que lorsque rsync est lancé, il y a plus rien de visuel jusqu'à ce que rsync finissie et un autre message s'affiche "Rsync done!"

Il faudrait que entre ce temps, il y a quelque chose de visuel. Si ce n'est pas possible d'avoir une barre de progression, un sablier, ou un fichier, genre log, es-ce possible d'avoir une fentre qui reste ouverte le temps que Rsync finisse?

Merci pour vos lumières
Go to the top of the page
 
+Quote Post
chombier
posté 19 Jan 2016, 14:33
Message #2


Macbidouilleur d'Or !
*****

Groupe : Membres
Messages : 6 580
Inscrit : 20 Mar 2003
Membre no 6 765



Il faut ajouter l'option --progress à la commande rsync, et t'inspirer de cet exemple:
https://discussions.apple.com/message/17329481


--------------------
késtananafout' (:
Go to the top of the page
 
+Quote Post
PBell
posté 19 Jan 2016, 22:29
Message #3


Macbidouilleur de bronze !
**

Groupe : Membres
Messages : 264
Inscrit : 7 Dec 2013
Lieu : Ile de France
Membre no 188 169



Bonsoir,
Si tu as El Capitain, ou Yosemite, le système est associé à de nouvelles instructions Applescript qui permettent d'afficher une barre de progression (un peu comme le Finder copie). Enfin...!! merci Apple

Voici un petit example de script qui utilise cette fonction :
CODE
-- doit être enregistré sous forme d'application. Uniquement à partir de Yosémite
set progress description to "Mon état d'avancement"
set progress additional description to "Préparation en cours…"
set progress total steps to -1

delay 2

set progress total steps to 50
repeat with i from 1 to 50
    set progress additional description to "étape " & i & " en cours"
    set progress completed steps to i
    delay 0.2 -- juste pour voir la progression
end repeat


Donc dans ton code, il faut que tu trouves un moyen de mesurer l'avancement de la copie des fichiers.
Si tu connais les fichiers, tu peux faire une routine qui calcule la taille totale déjà copiée sur le volume de destination, ou tout simplement le nombre de fichiers copiés sur le volume de destination.

Par exemple, tu débutes avec une liste de fichiers, et a chaque boucle tu réduis cette liste avec les fichiers présents dans le dossier destination.
Au début tu as 20 fichiers, puis 19, puis 18,...à 0 tu as fini !
il faut utiliser cette indicateur dans le script ci-dessus, à la place de i.

En utilisant le volume des données copiées, ce sera plus délicat car il faut prendre la taille en octet du fichier déjà partiellement écrit, mais plus précis en terme de progression.

Cordialement


--------------------
iiMac 24 M1 16Go/1To 13.5.1
iMac 27 i5 3,1GHz 8Go/1To 10.11.6 / 10.6.8
iMac 20 C.Duo 2,6Ghz 8Go/350Go 10.6.8 / 10.11
Mini C.Duo 2,0Ghz 2Go/500Go 10.6.8
Go to the top of the page
 
+Quote Post
Pierrot10
posté 19 Jan 2016, 23:17
Message #4


Adepte de Macbidouille
*

Groupe : Membres
Messages : 201
Inscrit : 19 Jan 2006
Lieu : Genève
Membre no 53 813



Salut PBell

Un grand merci. Je vais étudier ton exemple, jeudi!!!
Go to the top of the page
 
+Quote Post
yponomeute
posté 20 Jan 2016, 17:46
Message #5


Macbidouilleur d'Or !
*****

Groupe : Membres
Messages : 4 969
Inscrit : 26 Jan 2011
Lieu : Pollachius virens
Membre no 164 083



Il y a une application fort utile qui permet de créer des applications qui exécutent des scripts divers et variés (perl, bash etc)
Elle s'appelle Platypus : http://www.sveinbjorn.org/platypus

Elle est fournie avec des exemples de scripts, et diverses options sont disponibles en tant que "output" http://www.sveinbjorn.org/files/manpages/P...ntation.html#23

L'option --progress de rsync doit pouvoir être affichés dans une fenêtre par exemple.


--------------------
MBP 2017 15" avec clavier pourri et touchbar inutile
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 utilisateur(s) sur ce sujet (1 invité(s) et 0 utilisateur(s) anonyme(s))
0 membre(s) :

 



Nous sommes le : 25th April 2024 - 06:49