首页 > 解决方案 > 如何使用该 Ubuntu 服务器自动/定期将文件从 FTP 服务器复制到不同的 Ubuntu 服务器?

问题描述

我正在尝试让 Ubuntu 服务器定期(如果可能,最好在更新时)将文件从 FTP 服务器远程复制到 Ubuntu 服务器上的目录。我应该注意我对这种东西不是很先进。

我当然不会在没有教程的情况下这样做,但是它不包括从 ftp 获取文件。对我来说最简单的是能够运行:

tail -F ftp://ftp.addr.ess/files/file-i-want.txt | grep --line-buffered": <" | while read x ; do echo -ne $x | curl -X POST -d @- http://url/hook ; done

我所关注的将该 FTP 地址作为本地地址。这是一个问题,因为该命令返回以下内容:

尾巴:无法打开“ ftp://ftp.addr.ess/files/file-i-want.txt ”进行阅读:没有这样的文件或目录

我试图运行:

rsync username@ftp.addr.ess:XX/files/file-i-want.txt /home/ubuntu/destination

但是这会返回:

ssh:连接到主机 ftp.addr.ess 端口 XX:连接被拒绝。

所以真的,如果我能让 rsync 运行 FTP 而不是 SSH,我想我会很成功。虽然我研究了它,但我无法弄清楚如何做到这一点(请记住我不是程序员)。我最初认为错误是因为我没有给它一个密码,因为我不知道如何。不过,也可能是这样。

然而,这将我带到了我的下一个问题。如果可以让 rsync 做 FTP 而不是 SSH,我将如何让它定期做呢?

标签: linuxsshftpperiodic-task

解决方案


正在更新什么?远程文件(我的猜测)或您服务器上的东西?如果是远程文件,那么除非远程服务器上有可以向您发送通知(例如电子邮件)的机制/进程,否则您就不走运了。

我已经很久没有使用过ftp了,但可以看看这个作为起点。

使用cron任务可以很容易地配置周期性任务。


推荐阅读