Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программирование в *nix (http://forum.oszone.net/forumdisplay.php?f=35)
-   -   [решено] По ssh файл не скачивается полностью (http://forum.oszone.net/showthread.php?t=129595)

Гарин 23-01-2009 12:03 1016734

По ssh файл не скачивается полностью
 
Вложений: 1
Добрый день.
Столкнулся с такой проблемой.
Бэкап скачивается с сервера при помощи psftp.exe (из прог серии putty).
Сделан батник вида

psftp -v -C -2 -be -pw "passw" -b 1.scr root@"host"

В 1.scr прописано открытие папки с скачивание из неё командой mget нужного файла.

Сегодня увидел что архив (вес немалый - более 1 Гб) не качается весь. То скачается 150 метров, то 600...
Но весь не скачивается.
Не могу понять в чем дело и что значит указанная ошибка на картинке ниже.

Amin 01-02-2009 01:04 1025868

Посмотрите, что пишет в логи а) демон sshd (/var/log/ssh...) б) сама ОС (/var/log/messages)
Учитывая, что мы через ssh вытаскиваем куда более значительные объемы, предположу, что у вас либо слишком параноидально-криво настроен файерволл (бывают такие умельцы, увлекающиеся бешеными модулями iptables без понимания логики их работы), либо нестабильно работающая сеть.

Гарин 02-02-2009 09:42 1026933

Да наверное дело в инете было...
А вот вопрос - нельзя как либо сделать так, чтобы прога проверяла целостность файла, и если он не весь, то начинала бы скачку заново....или при обрыве соединения?
Ну или что то типа того =)

Naiad 02-02-2009 20:17 1027548

Может запустить второй раз с опцией -c (--continue)? :)

Гарин 02-02-2009 22:19 1027689

Дело в том, что скачивается бэкап, глубокой ночью....
Все автоматом, по расписанию, и запускать вручную не совсем премлимо.
Может как то иначе можно?

mar 03-02-2009 00:45 1027820

как насчет curl - по sftp?
а вот тут предлагаюи вариант с rsync (и с тем же curl)

или, как вариант - wget

Гарин 03-02-2009 09:42 1027999

Спасибо за ссылки, но скачивается с Linux сервера на виндовый.
И надо что то под нее.

mar 03-02-2009 21:31 1028731

Гарин,
под виндовый - виндовыйм wget-ом

Amin 07-02-2009 00:14 1031773

Цитата:

А вот вопрос - нельзя как либо сделать так, чтобы прога проверяла целостность файла, и если он не весь, то начинала бы скачку заново....или при обрыве соединения ?
Можно. Самый хороший и действительно надежный способ - это сразу после снятия бэкапа считать для всех его файлов контрольные хэши - MD5 или SHA1, а после скачки - их проверять. Не сошлось - качаем битый файл заново. В никсах для этого служат утилиты md5sum и sha1sum. Если ваш клиент - виндовс, то вы можете либо воспользоваться пакетом UnixTools (где есть утилиты md5sum.exe и sha1sum.exe) [это архив весом около 12 Мб, портированные в виндовс юниксовые тулзы. Не путать с ServicesForUnix от М$ (300 Мб пак) !!!], либо воспользоваться сценарием на PowerShell.

Все эти ключи `-с `, докачки, ловля обрывов соединения - это все ерунда, для *бэкапов* не пригодная.


Время: 18:47.

Время: 18:47.
© OSzone.net 2001-