Обробка помилок для автоматичних завантажень в Ubuntu?


0

Щодня мені потрібно автоматично завантажувати близько 100 зображень загальним розміром 4 Мб.

Я використав ncfttput і FTP через командний рядок, але іноді завантаження одного зображення застряє з Підключення до порту повідомлення, і тому воно зупиняє завантаження інших файлів FTP.

Зараз я використовую цей сценарій:

#!/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...

Як я можу встановити тайм-аут з наступним повторенням? Або ж існує метод, не призначений для командного рядка, для автоматичного керування всім цим (синхронізувати локальну папку з моєю віддаленою папкою і подбати про помилки)?


Ти маєш rsync та / або ssh доступ? Якщо ні, ви можете використовувати timeout(1) для обмеження часу виконання будь-якої заданої ftp спроба. Чи існує причина, з якої ви повторно підключаєтеся до кожного зображення? Це тому, що зв'язок може зависати на будь-якому зображенні?
zackse

Ви також можете використовувати ls після mput і порівняти віддалений список з локальним і повторіть ftp якщо є відмінності.
AFH

@zackse, так, я не завантажую кожний * .gif файл "все-в-одному", але я розділив їх у декілька груп, оскільки він може зависати на будь-якому зображенні серед файлів gif.
Giacomo

@ AFH, я не міг використовувати ls в mput, оскільки він може застрягти в будь-якому зображенні, включеному в mput xxxx * .gif У будь-якому випадку, я, можливо, вирішив частково, так як я використовую зараз пасивний режим і, якщо моя група завантаження занадто мала , він більше не висить. Я буду тримати вас в курсі
Giacomo

Я часто вважав пасивний режим більш надійним. Я сподіваюся, що це вирішить вашу проблему. Я звичайно використовую FireFTP надбудову для Firefox, коли я хочу зробити ftp передачі: це дуже надійно, і спроби, коли це необхідно, але це не підходить для автоматизації. Я роблю регулярні невеликі автоматизовані передачі зі стандартною командною рядком Ubuntu і Windows ftp: моє число і розмір файлів набагато менше, ніж у вас, і у мене було мало проблем (я використовую пасивний режим).
AFH

Відповіді:


1

Я вирішив пасивний режим FTP. Ось нова команда 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...

1
Дякуємо, що закрили цикл вашого запитання. На користь інших, які мають подібну проблему, ви можете розширити свою відповідь, щоб описати, що ви зробили?
fixer1234

Додано слово "пасивний" до списку команд FTP
Giacomo
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.