Ftp передает rsync-way
Я часто загружаю файл журнала с ftp-сервера (который я не контролирую, кстати), и кажется, что rediciolus загружает весь файл каждый раз.
Итак, я ищу программу (linux-ish) или модуль Perl, которая сочетает в себе ftp и rsync и только "обновляет" файл.
Файл журнала постоянно растет.
Что-нибудь вроде этого?
Ответы
Ответ 1
Install curlftpfs (if on Windows, use cygwin)
# Create local mount path
mkdir -p /mnt/myftp
# Mount the destination ftp site using curlftpfs
curlftpfs -o allow_other ftp://myusername:[email protected] /mnt/myftp
# rsync inplace using append option
# use a long timeout value as the first long phase
# (the inplace comparison) takes a while
rsync -rzvvv --inplace --append --progress --stats --timeout=7200 /mnt/myftp/path/to/source/file.log /path/to/local/destination/file.log
# When you need to umount the ftp site
sudo umount myftp
# You can also mount from /etc/fstab by appending the following line
# curlftpfs#myusername:[email protected] /mnt/myftp fuse allow_other,rw,user,noauto 0 0
# References:
# http://linux.byexamples.com/archives/344/mounting-ftp-host-to-local-directory-on-top-of-fuse/
# http://lists.samba.org/archive/rsync/2007-May/017762.html
Ответ 2
Не было бы "возобновить загрузку" для вашего дела?
Просто притворись, что ваш перенос был прерван в последний раз и перезагрузка загрузки с того места, где вы остановились
Ответ 3
Как сказано в Как использовать rsync через FTP, lftp имеет зеркальный режим, который делает синхронизацию гораздо более эффективной, чем curlftpfs + rsync
Ответ 4
Я думаю, вы пытаетесь получить функции rsync из ftp, и это не будет работать легко.
Я бы рекомендовал чистое решение rsync.