如何使用 lftp 复制远程服务器上的文件?
移动文件就像使用mv
命令一样简单,但是有没有等效的命令呢cp
?
答案1
来自手册页:
ftpcopy
Obsolete. Use one of the following instead:
get ftp://... -o ftp://...
get -O ftp://... file1 file2...
put ftp://...
mput ftp://.../*
mget -O ftp://... ftp://.../*
or other combinations to get FXP transfer (directly between two ftp
servers). lftp would fallback to plain copy (via client) if FXP trans-
fer cannot be initiated or ftp:use-fxp is false.
因此您可以通过执行以下操作来复制文件:
get filename -o ftp://user@ftpsite/directory/copyoffile
也许这会比put/get
if 更好,因为你将执行类似 FXP 的操作,并且服务器将使用其自己的本地带宽
答案2
来自自动 bash 脚本:
lftp -u login,password some.host.com -e "put file ; exit "
从 lftp 的交互式 shell 中:
put localFileToBeSent
答案3
检查镜像内置传输一或者一些文件:
lftp 内置镜像可以下载或更新整个目录树。还有反向镜像(mirror -R),可以上传或更新服务器上的目录树。镜像还可以在两个远程服务器之间同步目录,如果可用,则使用 FXP。
所以,
- lftp>镜像-R ftp://from.example.com/directory1-i 文件1 ftp://to.example.net/directory2
- lftp>镜像-R ftp://from.example.com/directory1 ftp://to.example.net/directory2