récupérer un dossier sur serveur distant en bash

Bonjour à tous.

Je suis confronté à un soucis qui dépasse largement mes compétences.

Je dois récupérer le contenu d’un dossier sur un serveur distant via un script bash.
Ce dossier se trouve parmis 100 autres dossiers avec des noms tous différents (générés aléatoirement).
La seule indication que j’ai, c’est un nombre compris dans le nom de ce dossier (ce nombre étant bien sur différent pour chaque dossier).
Ce nombre peut être situé n’importe où dans le nom du dossier.

Alors, comment faire pour:
[ul]me connecter au serveur (ssh ? ftp ?) pour faire une recherche du nom du dossier comprenant le bon nombre ?
récupérer le nom complet du dossier pour pouvoir faire mon wget ? (un simple > suffirait ?)[/ul]

Alors de mon coté je parviens à faire un wget d’un dossier dont je connais le nom exact, donc pour la fin de la procèdure, pas de soucis. Mais impossible de faire un find ou grep sur le serveur distant…

des idées ???

Existe t-il des outils de recherche spécifique lié au réseau ? ou une syntaxe différente de la recherche locale ?

Quelles types de connexions peux tu ouvrir vers le serveur ? SSH, FTP, autres ?

Comment sont formés les noms des dossiers ? Si tu veux faire une recherche efficace et robuste il faut avoir le maximum d’informations sur ce qui est différent / identique dans les noms de tes dossiers.

Pour te connecter au serveur, si ssh est installé, c’est le mieux.
le tout, c’est de savoir si tu as les droits pour ?
si tu en connais le port ?
si la clef sera acceptée ?
Si tu as tout ça, la connexion est simple
pour ton dossier, avec find et des ‘*’ avant et après les chiffres connus, tu peux essayer.
Si tu peux te connecter en ftp et fouiller avec ls, il y a ptet aussi une possibilité.
Donne-nous déjà ce que tu as comme données sur ton serveur.

Salut,
Je ne peux que “plussoyer” sur ce qui vient d’être demandé…
Le serveur est à toi ? Tu y accèdes comment d’habitude ?
Les noms de dossiers sont générés comment ? Ce sont des sauvegardes ? Ils sont dans la racine du serveur Web ?

Bref, plus de détails… :wink:

hou hou que de questions, que de questions… je m’empresse d’y répondre.

Celles que j’ai testé actuellement et qui sont opérationelles: SSH, FTP (SFTP) et je parviens à faire mon wget.

En fait ce sont des noms générés par un script excel du type: “pg18 BANGKOK”, "pg21 SYDNEY"
Donc toujours commencant par “pg”, un nombre (un décompte à chaque création de fichier) et la ville ou se situe le client.
Une remarque: je n’avais pas fait attention à ça auparavant, mais sur le serveur les noms de dossier avant le 10 sont écris pg09ville, et moi je reçois la variable dans mon programme avec le chiffre sans le “0” devant… ça va surement me poser soucis ça par la suite.

[quote=“ricardo”]Pour te connecter au serveur, si ssh est installé, c’est le mieux.
le tout, c’est de savoir si tu as les droits pour ?
si tu en connais le port ?
si la clef sera acceptée ?
Si tu as tout ça, la connexion est simple
pour ton dossier, avec find et des ‘*’ avant et après les chiffres connus, tu peux essayer.
Si tu peux te connecter en ftp et fouiller avec ls, il y a ptet aussi une possibilité.[/quote]
J’ai SSH, les droits, la clé est reconnue… mais je bute sur les recherches via ftp, je dois surement mal formuler mon find (je ne suis pas un spécialiste là dedans).

[quote=“lol”]Tu y accèdes comment d’habitude ?
Ils sont dans la racine du serveur Web ?[/quote]
J’y accède via Filezilla, putty ou WinSCP.
Les fichiers ne sont pas à la racine du serveur, mais j’ai accès à toute l’arboresence et pas de soucis pour faire un wget d’un fichier dont je connais le nom exact.

Bonjour,
je ne sais pas quel shell tu utilises, mais avec ksh, il y a un truc pratique :$ ls -R **/*ton_nombre*te trouvera le fichier quelque soit sa profondeur d’enfouissement et te l’affichera avec son chemin, il y a certainement des équivalents avec bash ou find.

Pour te connecter en sftp (ou ftp) :
$ sftp -oPort=xxxxxx user@IP
pour les fichiers :
/chemin/pg**LA_VILLE_SI_TU_LA_CONNAIS