Ftp传输rsync-way

时间:2008-12-03 20:44:51

标签: ftp rsync

我经常从ftp-server(我无法控制,btw)下载日志文件,而且每次下载整个文件似乎都是rediciolus。

所以我正在寻找一个程序(linux-ish)或Perl模块,它在某种程度上结合了ftp和rsync,并且只“更新”文件。

日志文件不断增长。

有这样的事吗?

4 个答案:

答案 0 :(得分:21)

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:mypassword@ftp.mydomain.com /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:mypassword@ftp.mydomain.com /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

答案 1 :(得分:4)

你的案子不会“恢复下载”工作吗?

只是假装您的转帐上次中止并重新开始从您停止的地方下载

答案 2 :(得分:3)

正如How to use rsync over FTP中所述,lftp具有镜像模式,使得同步比curlftpfs + rsync更有效

答案 3 :(得分:0)

我认为你试图从ftp中获取rsync功能并且它不会轻易工作。 我推荐一种纯rsync解决方案。