2008-12-03 25 views
17

Tôi đang tải xuống tệp nhật ký khá thường xuyên từ máy chủ ftp (mà tôi không kiểm soát được, btw) và có vẻ như rediciolus tải xuống toàn bộ tệp mỗi lần.Ftp chuyển rsync-way

Vì vậy, tôi đang tìm kiếm một chương trình (linux-ish) hoặc mô-đun Perl theo cách kết hợp ftp và rsync và chỉ "cập nhật" tệp.

Tệp nhật ký liên tục phát triển.

Mọi thứ như thế xung quanh?

+0

thấy [Làm thế nào để sử dụng rsync qua FTP] (http://serverfault.com/q/24622/15186) trên [sf] – CharlesB

Trả lời

19
 
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 
+0

Nó rất không hiệu quả so với những gì lftp trong chế độ gương không – CharlesB

+0

@CharlesB nó có thể không hiệu quả t nhưng nó có thể được kịch bản để chạy tự động. Tôi không thể thấy cách bạn tự động hóa lftp/gương? – justinhartman

+2

@justinhartman bạn đã kiểm tra http://serverfault.com/a/24833/15186 chưa? Nó cho thấy làm thế nào để làm điều đó tự động. – CharlesB

0

Tôi nghĩ rằng bạn đang cố gắng để có được các tính năng rsync ra khỏi ftp và nó sẽ không hoạt động dễ dàng. Tôi muốn giới thiệu một giải pháp rsync tinh khiết.

+2

OP nói rằng ông không có quyền kiểm soát máy chủ, vì vậy rsync không phải là một lựa chọn – CharlesB

4

Sẽ không "tiếp tục tải xuống" hoạt động cho trường hợp của bạn?

Chỉ cần giả vờ chuyển của bạn đã bị hủy bỏ thời gian qua và khởi động lại tải từ nơi bạn dừng