通过FTP同步文件


11

我需要将我的计算机中的文件与只有FTP访问权限的服务器同步。因此,我不能使用rsync(这至少需要SFTP,但对我而言唯一可用的通道是纯香草FTP)。

我只需要单向同步:从我的机器到服务器。我听说过一个名为unison的程序,但它似乎是用于双向同步的,我不确定是否可以对其进行调整以执行我想要的操作。我还应该补充一点,该程序应以非交互方式工作,以便可以在脚本内使用。

最后的选择是编写我自己的脚本,该脚本按修改时间(或类似时间)比较文件,然后复制已更改的文件。我已经设法将FTP目录安装到本地目录,因此问题归结为仅同步两个目录。但是我的直觉告诉我,野外一定已经存在类似的东西。

Answers:


14

由于无法wput上班,我寻找了一个替代方案,并找到了:ncftp

更具体地说,ncftpput似乎几乎完成了wput设计的目的。对我来说最重要的是,它没有像wput那样崩溃。实际上,它可以使用-z选项仅上传那些未更改的文件

ncftpput -z -u user -p pass ftp.mydomain.com dir/name files-to-upload...

完美地为我工作
罗马m

在OSX上,通过安装:brew install ncftp
kenorb 2015年

1
要复制整个目录树,请使用-R
kenorb 2015年

+1(对于标签外的-z表示“ noclobber” /“请勿覆盖”)
barrycarter

我希望两天前能找到这个。由于手册页未显示任何“仅较新的”“跳过现有”选项,因此我放弃了ncftpget。我在lftp上大打出手-从BASH到Python。然后,我再次尝试在Google上进行ncftp,并找到了解决方案。我在ncftpget(手册页)上查找了它-“ -z / -Z不要(不要)尝试恢复传输。默认是尝试恢复”。听起来不令人信服。但是,地狱..那是我一直在寻找的选项:仅使用ncftpget下载新文件。我希望这一评论能对您有所帮助。
Anup Nair


3

当然,这叫做wput


当然!我怎么没想到呢。完全忘记了该程序。我认为这会奏效,但是当我回到家里尝试时,我会报告...
Rene Saarsoo 09年

每当我尝试上传内容时,wput都会给我“分段错误”。
Rene Saarsoo
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.