2013-05-31 52 views
1

我在机器A上用户A1,密码为P1,并且有一个文件夹L1。我想保持它与远程计算机B上的用户A2(P1)的文件夹L2保持同步。我知道rsync无法通过ftp工作,并且我在l上安装了lftp。错误信息“源:是一个目录”in lftp mirror

我在机器A上写了一个脚本不能把机器B的任何脚本)

REMOTEHOST='B' #this is machine from which I want files 
REMOTEUSER='A2' #this is user for the machine 
REMOTEPASSWORD='P2' #this is password for user of remote machine 

#lftp 
lftp -f " 
open $HOST 
user $USER $PASS 
mirror L2 L1" 

文件被复制,但我得到的消息“来源:是目录”

我试图-R标志和添加/在L1的结束, L2,但没有工作。 我该如何摆脱此消息?

回答

1

所以我刚碰到这个。你应该尝试使用mget而不是这是一个命令lftp允许下载单个文件...有点跛脚镜子不能处理这个,但“镜像”的概念应该表示镜像一个目录,我认为使感。

一个例子根据你所拥有的将是:

#lftp 
lftp -f " 
open $HOST 
user $USER $PASS 
mget L2 L1" 

你也可以做一个oneliner像这样:

lftp -u user,pass -e "mget /home/user/coolfile.txt /mnt/raid/; quit" sftp://server.net 

一件事与MGET要记住的是,你失去的平行和分段下载选项,速度可能会变慢。

更多关于this出色的lftp手册页。

+1

嗯 - 但问题是要镜像一个目录,没有关于单个文件的文字,是吗? – Gerfried