Докачка с scp. Способы решения проблемы.
scp не поддерживает докачку файла. Таким образом, иногда, очень обидно, скачивая очередной большой файл, получать обрыв связи. Это можно решить несколькими способами:
1. Использовать rsync
$ alias scprsync="rsync --partial --progress --rsh=ssh"Правда, необходим rsync на удаленной стороне.
2. Использовать curl
$ curl -T filename -C - -u yourlogin sftp://example.net/~/filenameС alias'ом здесь сложновато, но написать простенькую функцию, думаю, не составит большого труда.
Ссылки:
http://panela.blog-city.com/resume_scp_after_interrupted_downloads_use_rsync.htm
http://www.linuxquestions.org/questions/linux-networking-3/scp-resume-aborted-download-290836/
(2 голоса)
- 4014 просмотров
Страница для печати

еще lftp такое умеет
$ lftpget -c sftp://login@example.net:/~/filename .ну или интерактивно
если curl говорит
curl: (1) Protocol sftp not supported or disabled in libcurl
(актуально для федоры, и видимо редхатообразного)
то надо компилиловарить с опцией
--with-libssh2=/path/to/libssh2
собственно как это делается в федоре (с помощьью rpm-build):
1. тянем curl-....src.rpm
2.
кроме компилятора типа gcc, rpmbuild и т.п., для сборки понадобится:
libssh2-devel
ну и может всякая другая фигня с которой было сконфигурировано curl
# yum -y install libssh2-devel
3.
# rpm -i /tmp/curl.src.rpm
правим /usr/src/redhat/SPECS/curl.spec
находим строку %configure и подправляем её с учетом своих требований (я например повыкидывал kerberos, ipv6, ldap, и добавил libssh2 )
%configure --without-ssl --with-nss=%{_prefix} --disable-ipv6 \ --with-ca-bundle=%{_sysconfdir}/pki/tls/certs/ca-bundle.crt \ --with-libidn \ --disable-ldaps --disable-static \ --with-libssh2=%{_prefix}в BuildRequires поубирал зависимости при сборке от kerberos,ldap либ. и добавил libssh2-devel
4. запускаем сборку пакетов rpmbuild -bb curl.spec
при удачном положении звезд мы получим
5. последний шаг он легкий самый:
# rpm -Uih /usr/src/redhat/RPMS/i386/curl-7.18.2-5.fc9.i386.rpm /usr/src/redhat/RPMS/i386/libcurl-7.18.2-5.fc9.i386.rpm --replacefiles --replacepkgs
и результат:
$ curl -o /tmp/accesslog.day -C - -u squid sftp://squid/var/log/squid/access.log Enter host password for user 'squid': ** Resuming transfer from byte position 19417871 % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 16 85.6M 16 14.1M 0 0 360k 0 0:04:03 0:00:40 0:03:23 370kЗЫ. в целях защиты этих пакетов при обновлении - надо бы занести их в красную книгу:
yum-versionlock или yum-protect-packages
это в отдельный типс можно о том как пересобирать rpm
Отправить комментарий