scp не поддерживает докачку файла. Таким образом, иногда, очень обидно, скачивая очередной большой файл, получать обрыв связи. Это можно решить c помощью curl:
для аплоадаcurl -T filename -C - -u yourlogin sftp://example.net/~/filename для даунлоада curl -o filename -C - -u yourlogin sftp://example.net/~/filenameно в fedora 9 curl говорит:curl: (1) Protocol sftp not supported or disabled in libcurl (актуально для федоры, и видимо редхатообразного) это значит что надо было компилиловарить curl с опцией --with-libssh2=/path/to/libssh2 собственно как это делается в федоре (с помощьью rpm-build): тянем curl-....src.rpm$ wget -O /tmp/curl.src.rpm http://mirror.yandex.ru/fedora/linux/updates/9/SRPMS.newkey/curl-7.18.2-5.fc9.src.rpmкроме компилятора типа gcc, rpmbuild и т.п., для сборки понадобится libssh2-devel ну и может всякая другая фигня с которой было сконфигурировано curlyum -y install libssh2-develrpm -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-develBuildRequires: nss-devel >= 3.11.7-7, libssh2-devel запускаем сборку пакетовrpmbuild -bb curl.spec при удачном положении звезд мы получим:Checking for unpackaged file(s): /usr/lib/rpm/check-files /var/tmp/curl-7.18.2-5.fc9-root-root
Wrote: /usr/src/redhat/RPMS/i386/curl-7.18.2-5.fc9.i386.rpm
Wrote: /usr/src/redhat/RPMS/i386/libcurl-7.18.2-5.fc9.i386.rpm
Wrote: /usr/src/redhat/RPMS/i386/libcurl-devel-7.18.2-5.fc9.i386.rpm
Wrote: /usr/src/redhat/RPMS/i386/curl-debuginfo-7.18.2-5.fc9.i386.rpm
Executing(%clean): /bin/sh -e /var/tmp/rpm-tmp.54210
+ umask 022
+ cd /usr/src/redhat/BUILD
+ cd curl-7.18.2
+ rm -rf /var/tmp/curl-7.18.2-5.fc9-root-root
+ exit 0последний шаг он легкий самый: 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
71 85.6M 71 61.2M 0 0 368k 0 0:03:57 0:02:50 0:01:07 371kЗЫ. в целях защиты этих пакетов при обновлении — надо бы занести их в красную книгу: yum-versionlock или yum-protect-packages
Комментарии (0)
RSS свернуть / развернутькомментировать