避免使用 ftp 在远程主机上重复上传同一文件

避免使用 ftp 在远程主机上重复上传同一文件

我有 ubuntu 14 headless 服务器,并且数据不断更新。我希望每 15 分钟备份一次到远程主机。我对远程主机没有太多访问权限,我只需要将文件放到上面。我已成功建立每 15 分钟运行一次的 FTP bash 脚本。现在我不想将相同的文件上传到远程主机。一旦文件上传,我不想将相同的文件上传到远程主机。我已经为 FTP 上传编写了 bash 脚本,但我不知道如何处理这种重复上传。

有些事

文件 /path/to/upload -maxdepth 1 -mtime 0.04 > path/to/filelist.txt

但这没有用,我的文件在 15 分钟内反复上传相同的文件(我已经在 15 分钟后设置了 cronjob)

请帮助我,我是 Linux 新手,一点小例子会很有用。

答案1

如果可以,请使用rsyncftp。它就是为此而构建的,而且效率更高。

如果你必须使用 ftp,find那么应该可以使用这个。尝试以下格式:

find /path/to/upload -maxdepth 1 -cmin -15

其中-15表示少于 15 分钟前。+15表示早于,并且15恰好是 15 分钟前。

或者,您可以使用参考文件或时间戳(较新的版本支持该功能find

find /path/to/upload -maxdepth 1 -newerct $(date -Iseconds -d '15 minutes ago')

其中-newerct是 的一种形式-newerXY,使用引用的状态变化时间 ( c),其中引用是一个简单的时间字符串 ( t) 而不是被引用的文件,并且由 提供
date -Iseconds -d '15 minutes ago'


您可能需要谨慎备份经常,具体取决于您的使用情况;或者您可以在发现有问题之前用坏数据覆盖好备份。
或者将多个增量备份添加到完整备份,这样您就可以选择回滚到不同的时间点。

相关内容