в идеале хотелось бы увидеть копсольное решение
.....
Используй lftp. Я уже приводил в форуме команду автозакачки для него, повторю на всякий случай. Допустим, надо закачать файл file.iso на сервер
http://ftp://server.com в директорию /tmp. Заходишь в директорию с файлом и отдаёшь команду:
lftp -d3 -c 'repeat --until-ok reput file.iso -o
http://ftp://server.com/tmp/file.iso.tmp'
Во время закачки файл будет иметь расширение .tmp чтобы никто не начал его закачивать, после закачки переименовываешь. lftp имеет bash-образную оболочку с кучей опций и считается одним из лучших, если не лучшим консольным ftp-клиентом.
Удачи!