自动与 Linux 计算机之间进行 FTP 文件传输

自动与 Linux 计算机之间进行 FTP 文件传输

是否可以使用 FTP 自动将文件从另一台 Linux 机器复制到我的 Linux 机器?“自动”是指 FTP 需要自行处理提交登录名/密码组合以及复制文件。

两台机器都运行 Red Hat 5.1。例如,我想将文件/root/file从第二台 Linux 机器上移到我的机器上,而/var/tmp无需手动输入任何登录名/密码。

我的机器上没有expect,而且我不想使用 SSH 身份验证。

如果 FTP 无法自动完成此操作,请建议替代解决方案,例如 Python 脚本。

答案1

您可以使用lftp客户端程序并使用 FTP 脚本。


lftp支持~/.netrc配置文件,您可以在其中存储您的凭据:

machine <hostname> login <user> password <password>

您可以将一系列 FTP 命令存储在一个文件中并执行lftp它们,例如:

open <hostname>
cd /var/tmp
put /root/file optional_new_filename

中的路径cd在远程主机上,第一个参数put是本地文件。

然后,运行

lftp -f <filename>

答案2

您始终可以将凭据存储在文件中,并将其作为参数传递给调用 FTP 命令的脚本,但我建议使用基于密钥的身份验证的 SFTP(通过 SSH 的 FTP)按照我的回复转到另一篇文章。基于密钥的身份验证更安全,您的数据和登录通道将被加密。

相关内容