2008-12-03 2 views
17

Я загружаю файл журнала довольно часто с ftp-сервера (который я не контролирую, кстати), и кажется, что rediciolus загружает весь файл каждый раз.Ftp передать rsync-way

Итак, я ищу программу (linux-ish) или модуль Perl, которая в сочетании сочетает ftp и rsync и только «обновляет» файл.

Журнал постоянно растет.

Ничего подобного вокруг?

+0

см [Как использовать rsync через FTP] (http://serverfault.com/q/24622/15186) на [sf] – CharlesB 2013-02-27 18:35:24

ответ

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

Это очень неэффективно по сравнению с тем, что делает lftp в зеркальном режиме – CharlesB 2013-02-27 18:37:28

0

Я думаю, что вы пытаетесь получить функции rsync из ftp, и это не сработает легко. Я бы рекомендовал чистое решение rsync.

+2

OP говорит, что у него нет контроля над сервером, поэтому rsync не является опцией – CharlesB 2013-03-04 09:10:06

4

Не «возобновить загрузку» работы для вашего дела?

Просто представь ваш перевод был прерван в последний раз и перезапустить загрузку от того, где вы останавливаетесь

3

Как сказано в How to use rsync over FTP, lftp имеет зеркальный режим, который упрощает синхронизацию гораздо более эффективным, чем curlftpfs + Rsync