Gestion des erreurs pour les envois automatiques dans Ubuntu?

0

Chaque jour, j'ai besoin de télécharger automatiquement environ 100 images d'une taille totale de 4 Mo.

J'ai utilisé ncfttput et FTP via la ligne de commande, mais le téléchargement d'une image reste parfois bloqué par un message de connexion au port , ce qui arrête le téléchargement FTP des autres.

J'utilise actuellement ce script:

#!/bin/bash
cd /home/giacomo/WRF/DOMAINS/puglia/postprd
ftp -i -n -v <<EOF
open "server"
user "username" "password"
binary
cd /www.example.org/wrf
mput 2mTemp*.gif
quit
EOF

sleep 10

ftp -i -n -v <<EOF
open "server"
user "username" "password"
binary
cd /www.example.org/wrf
mput 850mbRH*.gif
quit
EOF
etc...

Comment définir un délai d'attente avec une nouvelle tentative consécutive? Ou existe-t-il une méthode autre qu'en ligne de commande pour gérer tout cela automatiquement (synchroniser mon dossier local avec mon dossier distant et résoudre les erreurs éventuelles)?

Giacomo
la source
Avez-vous rsyncet / ou sshaccès? Sinon, vous pouvez utiliser la timeout(1)commande pour limiter le temps d'exécution d'une ftptentative donnée . Y a-t-il une raison pour laquelle vous vous reconnectez pour chaque image? Est-ce parce que la connexion peut être suspendue à une image donnée?
Zackse
Vous pouvez également utiliser lsaprès le mput, comparer la liste distante à une liste locale et répéter l’opération ftps’il existe des différences.
AFH
@ zackse, oui, je ne télécharge pas chaque fichier * .gif "tout-en-un", mais je les ai divisés en plusieurs groupes, car ils risquent de se coincer dans n'importe quelle image parmi les fichiers gif.
Giacomo
@AFH, je ne pouvais pas utiliser ls dans mput car il risquerait de rester bloqué dans les images incluses dans mput xxxx * .gif Quoi qu'il en soit, j'ai peut-être résolu partiellement le problème, car j'utilise maintenant le mode passif et, à moins que mon groupe de téléchargement soit trop faible , il ne pend plus. Je vous tiendrai au courant
Giacomo
J'ai souvent trouvé le mode passif plus fiable. J'espère que cela résout votre problème. J'utilise généralement l'add-on FireFTP pour Firefox lorsque je souhaite effectuer des ftptransferts: il est très fiable et effectue des tentatives au besoin, mais il ne convient pas à l'automatisation. Je fais régulièrement de petits transferts automatisés avec les lignes de commande Ubuntu et Windows standard ftp: mon nombre et la taille des fichiers sont beaucoup plus petits que le vôtre et j'ai eu peu de problèmes (j'utilise le mode passif).
AFH

Réponses:

1

J'ai résolu en utilisant le mode passif FTP. Voici la nouvelle commande FTP:

#!/bin/bash
cd /home/giacomo/WRF/DOMAINS/puglia/postprd
ftp -i -n -v <<EOF
open "server"
user "username" "password"
binary
passive
cd /www.example.org/wrf
mput 2mTemp*.gif
quit
EOF

sleep 10

ftp -i -n -v <<EOF
open "server"
user "username" "password"
binary
passive
cd /www.example.org/wrf
mput 850mbRH*.gif
quit
EOF
etc...
Giacomo
la source
1
Merci d'avoir bouclé la boucle de votre question. Pour le bénéfice de personnes ayant un problème similaire, pouvez-vous développer votre réponse pour décrire ce que vous avez fait?
fixer1234
Ajout du mot "passif" à ma liste de commandes FTP
Giacomo