IPB

Bienvenue invité ( Connexion | Inscription )

 
Reply to this topicStart new topic
> ftp avec mot de passe contenant @
Options
chupaps
posté 12 Dec 2017, 12:38
Message #1


Nouveau Membre


Groupe : Membres
Messages : 7
Inscrit : 18 Sep 2007
Membre no 95 066



Bonjour,

Je me suis un petit script qui me permet de synchroniser les dossiers de plusieurs ftp vers des dossiers en local.
Le script marche impeccablement bien, j'ai meme un fichier a la fin qui me montre quels sont les nouveaux fichiers telechargés.

J'en viens a mon probleme: je bosse pour une nouvelle prod et le mot de passe pour se connecter à ce nouveau ftp contient un "@" et la je n'arrive plus à monter ce nouveau volume.
Je peux bien entendu me connecter via filezilla ou tout autre client ftp mais scruter les dossiers modifiés est une tache tres chronophage.

Donc voila ma question: comment monter ce ftp en tant que volume sur le finder afin de laisser "rsync" faire les comparaisons?

Voici en gros comment est mon script a l'heure actuelle (je repete ca fonctionne très bien!)

mount volume "ftp://user:pass@ftp.domain.com"
set rsync_log to "'fichier_text_modifs_txt'"
set local to "'dossier_local'"
set source to "'dossier_ftp'"

do shell script "echo === Début synchro === >>" & rsync_log
do shell script "echo >>" & rsync_log
do shell script "date >>" & rsync_log
do shell script "echo >>" & rsync_log
do shell script "rsync -av " & dossier_ftp & " " & dossier_local & " >>" & rsync_log & " || echo -n"
do shell script "echo >>" & rsync_log
do shell script "echo === Synchro terminée === >>" & rsync_log
do shell script "echo ------------------------------------------------------------------------------------------ >>" & rsync_log

tell application "Finder"
eject "user@ftp.domain.com"
end tell
tell application "TextEdit"
activate
open "fichier_text_modifs_txt"
end tell


Merci d'avance
Go to the top of the page
 
+Quote Post
Jaypee
posté 13 Dec 2017, 07:02
Message #2


Macbidouilleur d'Or !
*****

Groupe : Membres
Messages : 2 346
Inscrit : 29 Aug 2002
Membre no 3 340



Il faut l' URL-encoder %40 dans le cas de l' arobe.
https://developer.apple.com/library/content...DecodeText.html

@+
J-P

Ce message a été modifié par Jaypee - 13 Dec 2017, 07:06.
Go to the top of the page
 
+Quote Post
chupaps
posté 13 Dec 2017, 08:55
Message #3


Nouveau Membre


Groupe : Membres
Messages : 7
Inscrit : 18 Sep 2007
Membre no 95 066



Merci pour ta reponse.
Donc en gros de ce que je comprends pour un mot de passe "p@ss" je dois remplacer par "p%40ss" c'est bien cela?

Lorsque j'essaye de me connecter au server via "cmd+k" j'obtiens une erreur de mot de passe et ceci avec "p@ss" ou "p%40ss"

Pour une commande de type ftp://user:p@ss@ftp.domain.com ou ftp://user:p%40ss@ftp.domain.com le Finder comprend un nom de domain "ss@ftp.domain.com" un user "user" et attends un mot de passe. Je me retrouve avec un mauvais nom de domain.

Bref je nage...smile.gif
Go to the top of the page
 
+Quote Post
No6
posté 15 Dec 2017, 00:03
Message #4


Oui ?
*****

Groupe : Membres
Messages : 3 859
Inscrit : 24 Jun 2003
Lieu : BZH
Membre no 8 224



En bash (ton script est en Bash?) certains caracteres peuvent représenter une commande, il doivent alors être précédé d'un "backslash' s'il sont juste de simple caracteres.
=> transforme ton @ en \@ et tout devrait rentrer d'ans l'ordre.. ?

Psst : "Je me suis un petit script qui me permet " => Je me suis fait un petit script ../

Ce message a été modifié par No6 - 15 Dec 2017, 00:20.


--------------------
"Je sais que vous croyez comprendre ce que vous pensez que j'ai dit, mais je ne suis pas sûr que vous réalisiez que ce que vous avez entendu n'est pas ce que je pense."
(Alan Greenspan)
Go to the top of the page
 
+Quote Post
chupaps
posté 15 Dec 2017, 09:10
Message #5


Nouveau Membre


Groupe : Membres
Messages : 7
Inscrit : 18 Sep 2007
Membre no 95 066



Citation (No6 @ 15 Dec 2017, 00:03) *
En bash (ton script est en Bash?)

Je suis complètement néophyte, je sais pas ce qui est du bash ou pas.
Mon script est en copie sur la presentation du probleme, il est posé ainsi dans l'editeur applescript.

Citation
=> transforme ton @ en \@ et tout devrait rentrer d'ans l'ordre.. ?

J'ai tenté mais ca ne marche pas.

Citation
Psst : "Je me suis un petit script qui me permet " => Je me suis fait un petit script ../

J'oublie souvent des mots..!
Go to the top of the page
 
+Quote Post
No6
posté 15 Dec 2017, 15:15
Message #6


Oui ?
*****

Groupe : Membres
Messages : 3 859
Inscrit : 24 Jun 2003
Lieu : BZH
Membre no 8 224



Citation (chupaps @ 15 Dec 2017, 09:10) *
Citation (No6 @ 15 Dec 2017, 00:03) *
En bash (ton script est en Bash?)

Je suis complètement néophyte, je sais pas ce qui est du bash ou pas.
Mon script est en copie sur la presentation du probleme, il est posé ainsi dans l'editeur applescript.

Alors il faut que tu regarde dans le doc AppleScript comment on place les caractères spéciaux dans les chaînes de caractères.

je pense que l'utilisation du caractere pipe est indiquée pour remplacer les doubles quotes

Code
mount volume |ftp://user:pass@ftp.domain.com|


comme indiqué dans cette doc, page 28 : http://trad.applescript.free.fr/guides/Guide_AppleScript.pdf


sinon a tu essayé en passant par une variable ??
Code
set Vcnx to "ftp://user:pass@ftp.domain.com"
...
mount volume Vcnx


Ce message a été modifié par No6 - 15 Dec 2017, 16:29.


--------------------
"Je sais que vous croyez comprendre ce que vous pensez que j'ai dit, mais je ne suis pas sûr que vous réalisiez que ce que vous avez entendu n'est pas ce que je pense."
(Alan Greenspan)
Go to the top of the page
 
+Quote Post
chupaps
posté 15 Dec 2017, 18:02
Message #7


Nouveau Membre


Groupe : Membres
Messages : 7
Inscrit : 18 Sep 2007
Membre no 95 066



Code
mount volume |ftp://user:pass@ftp.domain.com|

Le probleme avec les pipes c'est que j'ai l'impression que ca considere tout ce qui entre les pipes comme une variable.


http://trad.applescript.free.fr/guides/Guide_AppleScript.pdf
La doc indique qu'il faut mettre un \ devant les caracteres speciaux mais lorsque je veux compilé ca me met une erreur de syntaxe

Citation
sinon a tu essayé en passant par une variable ??
Code
set Vcnx to "ftp://user:pass@ftp.domain.com"
...
mount volume Vcnx

Pour cette solution ca revient au meme puisque la variable reprend la même syntaxe.

Je pense que le probleme vient du Finder qui n'arrive pas interpréter ce caractere.

Je planche sur une solution differente: monter le volume ftp via une commande dans le Terminal
J'ai tenté quelque chose comme cela:
Code
mount_ftp user:pass@ftp.domain.com /Volumes/

Je n'ai pas d'erreur qui s'affiche mais je ne vois pas de volume monté non plus!!

J'arrive à me connecter via le Terminal mais le probleme est que je ne peux pas executer rsync avec un ftp.
Je tourne en rond..!

Go to the top of the page
 
+Quote Post
No6
posté 15 Dec 2017, 23:52
Message #8


Oui ?
*****

Groupe : Membres
Messages : 3 859
Inscrit : 24 Jun 2003
Lieu : BZH
Membre no 8 224



et comme ça :
Code
set Vcnx to |ftp://user:pass@ftp.domain.com|
...
mount volume Vcnx
??

Sinon si,faire un rsync pur bash en accès ftp c'est faisable... -> https://serverfault.com/questions/24622/how...-over-ftp#24833

mais bon, le ftp c'est devenu un peu ancien, pour ce genre de chose on passe par une connexion ssh...

Ce message a été modifié par No6 - 15 Dec 2017, 23:52.


--------------------
"Je sais que vous croyez comprendre ce que vous pensez que j'ai dit, mais je ne suis pas sûr que vous réalisiez que ce que vous avez entendu n'est pas ce que je pense."
(Alan Greenspan)
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 : 18th October 2018 - 12:47