Je pense que j'ai écrit peut-être un script shell toute ma vie, et je ne suis même pas sûr si c'est possible, mais j'essaye d'écrire un script qui va ftp le contenu d'un répertoire, un à une fois. C'est-à-dire, il faudra ftp un, puis fermer la connexion, puis ftp le second, et fermer cela etc. C'est parce qu'il peut y avoir jusqu'à cinq fichiers dans un répertoire qui ont chacun un minimum de 2 Go chacun. Le fait de les envoyer tous en même temps entraîne toujours une réinitialisation de la connexion. Je pensais que si je pouvais faire correspondre par nom de fichier partiel, alors peut-être que cela aidera, car ils sont tous nommés de la même manière.correspondance de modèle de script shell?
Ainsi, dans un répertoire, il faudra:
SampleFileA_20100322_1.txt
SampleFileA_20100322_2.txt
SampleFileB_20100322_1.txt
SampleFileC_20100322_1.txt
Je voudrais ftp SampleFileA_xxxx_1 d'abord, puis SampleFileA_xxxx_2, etc. Ceci est le script ftp actuel, qui essaie de télécharger tout à la une fois ...
#!/bin/bash
REMOTE='ftp.EXAMPLE.com'
USER='USERNAME'
PASSWORD='PASSWORD'
FTPLOG='/tmp/ftplog'
date >> $FTPLOG
ftp -in $REMOTE <<EOF
_FTP>>$FTPLOG
quote USER $USER
quote PASS $PASSWORD
bin
cd download
mget *
quit
_FTP
:wq!
'mget *' devrait obtenir les fichiers séquentiellement, pas simultanément. Quand la connexion est-elle réinitialisée? (par exemple, immédiatement? au milieu du premier fichier? après le premier fichier? plus tard?) – Isaac
si votre connexion se réinitialise, il a quelque chose à voir avec vos paramètres réseau. Parfois, si vous avez des pare-feu entre les deux, le pare-feu peut avoir de tels délais activés. Ou parfois c'est à cause des réglages de timeout de tcp avec votre kernet etc. – ghostdog74