Voici un script très simple pour récupérer des fichiers sur serveurs ftp, rien de très compliqué...
ftp -niv 192.168.1.15 <<EOF
user login mdp
lcd /home/bdd/scripts/nom/ici
cd www.xxxxx.xxx.fr/scripts/ici
ascii
prompt off
get mon fichier.csv monfichier.csv
close
bye
Sauf que aujourd'hui j'ai un soucis.
Mes fichiers ftp que je dois récupérer 1 fois par jour, on un nom un peu imprévisible: comme ceci:
Fichier_P_20190206_0915.csv
Pour le début du nom, pas de soucis, la suite non plus (c'est le jour yyyymmdd) mais l'heure je la connais pas à l'avance.
Est-ce possible de contourner le problème ? Avec les regex peut être ? Mais je sais pas comment les intégrer à une commande ftp, est-ce possible ?. (Je maitrise pas du tout le batch).
C'est se que je pensais aussi. Mais à ce niveau, ça ne fonctionne pas.
C'est compréhensible, c'est une commande qui va chercher un fichier distant, on peut pas lui dire "va me chercher un fichier dont je connais que la moitié du nom".
Je pense que c'est pas possible se que je veux faire ou pas simplement...
EDIT: ça fonctionne; La solution est d'utiliser mget ou lieu de get.
Tu as essayé d'échapper l'astérisque ? Toutes les commandes ne reconnaissent pas par défaut une wildcard et peuvent interpréter l'astérisque comme un caractère et peuvent nécessiter de l'échapper pour l'interpréter comme une wildcard. C'est par exemple le cas avec dnf dans Fedora.
ftp> ls *texi*
200 PORT command successful. Consider using PASV.
150 Here comes the directory listing.
-rw-r--r-- 1 3003 65534 65354 Mar 21 2000 bashref.texi.gz
226 Directory send OK.
ftp> get \*texi\*
local: bashref.texi.gz remote: *texi*
200 PORT command successful. Consider using PASV.
550 Failed to open file.
ftp> get *texi*
local: bashref.texi.gz remote: *texi*
200 PORT command successful. Consider using PASV.
550 Failed to open file.
ftp>
- Edité par dantonq 11 février 2019 à 21:35:36
Validez la réponse utile « Un problème clairement exposé est à moitié résolu. » Pas de MP technique
Merci pour les tests @danstonq, je n'avais pas de serveur ftp sous la main pour tester. C'est étonnant comme comportement, il a l'air de trouver le bon fichier mais n'arrive pas à l'ouvrir.
$ printf '%s\n' 'machine ftp.gnu.org' 'login anonymous' >/tmp/netrc
$ ftp -p -N /tmp/netrc ftp.gnu.org
bla...bla..
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp>
Validez la réponse utile « Un problème clairement exposé est à moitié résolu. » Pas de MP technique
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Zeste de Savoir | Kali Linux n'est pas une distribution pour débuter ni pour être utilisée tous les jours | Pour choisir une distribution Linux
Validez la réponse utile « Un problème clairement exposé est à moitié résolu. » Pas de MP technique
Validez la réponse utile « Un problème clairement exposé est à moitié résolu. » Pas de MP technique
Validez la réponse utile « Un problème clairement exposé est à moitié résolu. » Pas de MP technique
Validez la réponse utile « Un problème clairement exposé est à moitié résolu. » Pas de MP technique
Zeste de Savoir | Kali Linux n'est pas une distribution pour débuter ni pour être utilisée tous les jours | Pour choisir une distribution Linux
Validez la réponse utile « Un problème clairement exposé est à moitié résolu. » Pas de MP technique
Zeste de Savoir | Kali Linux n'est pas une distribution pour débuter ni pour être utilisée tous les jours | Pour choisir une distribution Linux
Validez la réponse utile « Un problème clairement exposé est à moitié résolu. » Pas de MP technique
Zeste de Savoir | Kali Linux n'est pas une distribution pour débuter ni pour être utilisée tous les jours | Pour choisir une distribution Linux