Обробка помилок для автоматичних завантажень в 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.