linux - 如何在rsync中通过FTP复制所有文件

标签 linux ftp rsync

我有一些主机的在线帐户,它给我 FTP 帐户和用户名和密码。

我有另一个公司给了我 FTP 和 rsync。

现在我想使用 rync 将所有文件从旧 FTP 传输到新 FTP。

现在是否可以通过 rsync 来完成,因为我不想先在计算机上复制然后再上传

最佳答案

让我们只用 FTP src 调用机器。

让我们用 FTP 和 SSH dst 调用机器。

ssh dst
cd destination-direction
wget --mirror --ftp-user=username --ftp-password=password\
     --no-host-directories ftp://src/pathname/

请注意,在命令行上使用 --ftp-password 运行 wget 会将密码泄露给系统上的任何其他人。 (以及通过网络明文传输它,但你知道这一点。)

如果您无法访问 wget,那么他们可能有 ncftplftpftp安装。我恰好最了解 wget。 :)

编辑 要使用 ftp,您需要做更多类似的事情:

ftp src
user username
pass password
bin
cd /pathname
ls

此时,记下远程系统上的所有目录。使用 !mkdir 创建每一个。然后切换到本地和远程目录:

lcd <dirname>
cd <dirname>
ls

对所有目录重复。使用 mget * 获取所有文件。

如果这看起来很糟糕,那是因为它确实如此。 FTP 不是为此设计的,如果您的新主机没有更好的工具(一定要寻找 ncftplftp 以及类似 ftpmirror ),然后要么自己编译更好的工具,要么擅长围绕坏工具编写脚本。 :)

或者,如果您可以在 src 上获得一个 shell,那也会有很大帮助。 FTP 并不适合传输数千个文件。

无论如何,这可以避免在您的本地系统中反弹,这应该会显着提高吞吐量。

关于linux - 如何在rsync中通过FTP复制所有文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5986942/

相关文章:

c - 如何使用 microhttpd.h 在 C 中读取包含问号的 URL

iOS 处理服务器上的共享文件

java - 使用ftp上传文件/目录

windows - Rsync 新手 : From Windows to Linux

linux - 如何同步目标文件夹中存在的所有文件夹

git - rsync .git 目录

regex - 修剪目录中所有文件的一部分文件扩展名 - Linux

Linux TCP 接受无 SYN|ACK

删除文本文件中空行的linux脚本

Python:ftplib和os Errno13(从ftp服务器下载所有文件)