Показать полную графическую версию : [решено] По ssh файл не скачивается полностью
Добрый день.
Столкнулся с такой проблемой.
Бэкап скачивается с сервера при помощи psftp.exe (из прог серии putty).
Сделан батник вида
psftp -v -C -2 -be -pw "passw" -b 1.scr root@"host"
В 1.scr прописано открытие папки с скачивание из неё командой mget нужного файла.
Сегодня увидел что архив (вес немалый - более 1 Гб) не качается весь. То скачается 150 метров, то 600...
Но весь не скачивается.
Не могу понять в чем дело и что значит указанная ошибка на картинке ниже.
Посмотрите, что пишет в логи а) демон sshd (/var/log/ssh...) б) сама ОС (/var/log/messages)
Учитывая, что мы через ssh вытаскиваем куда более значительные объемы, предположу, что у вас либо слишком параноидально-криво настроен файерволл (бывают такие умельцы, увлекающиеся бешеными модулями iptables без понимания логики их работы), либо нестабильно работающая сеть.
Да наверное дело в инете было...
А вот вопрос - нельзя как либо сделать так, чтобы прога проверяла целостность файла, и если он не весь, то начинала бы скачку заново....или при обрыве соединения?
Ну или что то типа того =)
Может запустить второй раз с опцией -c (--continue)? :)
Дело в том, что скачивается бэкап, глубокой ночью....
Все автоматом, по расписанию, и запускать вручную не совсем премлимо.
Может как то иначе можно?
как насчет curl - по sftp?
а вот тут (http://linsovet.com/content/%D0%B4%D0%BE%D0%BA%D0%B0%D1%87%D0%BA%D0%B0-%D1%81-scp-%D1%81%D0%BF%D0%BE%D1%81%D0%BE%D0%B1%D1%8B-%D1%80%D0%B5%D1%88%D0%B5%D0%BD%D0%B8%D1%8F-%D0%BF%D1%80%D0%BE%D0%B1%D0%BB%D0%B5%D0%BC%D1%8B) предлагаюи вариант с rsync (и с тем же curl)
или, как вариант - wget
Спасибо за ссылки, но скачивается с Linux сервера на виндовый.
И надо что то под нее.
Гарин,
под виндовый - виндовыйм wget-ом
А вот вопрос - нельзя как либо сделать так, чтобы прога проверяла целостность файла, и если он не весь, то начинала бы скачку заново....или при обрыве соединения ?
Можно. Самый хороший и действительно надежный способ - это сразу после снятия бэкапа считать для всех его файлов контрольные хэши - MD5 или SHA1, а после скачки - их проверять. Не сошлось - качаем битый файл заново. В никсах для этого служат утилиты md5sum и sha1sum. Если ваш клиент - виндовс, то вы можете либо воспользоваться пакетом UnixTools (где есть утилиты md5sum.exe и sha1sum.exe) [это архив весом около 12 Мб, портированные в виндовс юниксовые тулзы. Не путать с ServicesForUnix от М$ (300 Мб пак) !!!], либо воспользоваться сценарием на PowerShell.
Все эти ключи `-с `, докачки, ловля обрывов соединения - это все ерунда, для *бэкапов* не пригодная.
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.
Available in ZeroNet 1osznRoVratMCN3bFoFpR2pSV5c9z6sTC