通常我使用基于rsync的备份。
但是现在我必须将备份脚本从Windows服务器制作到Linux。因此,没有rsync-只有FTP。
我喜欢硬链接用于节省磁盘空间和增量备份以最大程度地减少流量的想法。
是否有类似的ftp备份脚本而不是rsync?
更新:
我需要通过FTP备份Windows服务器。备份脚本在Linux备份服务器上执行。
解决方案:
我发现这个有用的脚本可以通过具有硬链接和增量功能的FTP进行备份。
给Ubuntu用户的注意事项:Ubuntu中没有md5
命令。使用md5sum
代替。
# filehash1="$(md5 -q "$curfile"".gz")"
# filehash2="$(md5 -q "$mysqltmpfile")"
filehash1="$(md5sum "$curfile"".gz" | awk '{ print $1 }')"
filehash2="$(md5sum "$mysqltmpfile" | awk '{ print $1 }')"
编辑,因为从原始问题来看,对于我来说设置还不够清楚。
基于问题的更新,情况是,您需要通过ftp从Windows系统中提取备份服务器上的数据。在这种情况下,您可以改编自己的脚本(请参阅评论)或使用类似的想法:
cp -lr
克隆以前的备份与硬链接。lftp --mirror
远程系统上已更新的任何内容覆盖此副本。但是我最初假设您需要将数据从Windows系统推送到备份服务器,即FTP服务器在备份系统上。这种情况无法以这种方式处理(以下为原始答案):
由于FTP根本不知道链接,因此任何传输都只会导致新文件或覆盖文件。唯一的方法是使用SITE命令发布特定于站点的命令,并通过硬链接处理这种方式。但是特定于站点的命令通常受到严格限制,因此您可以执行诸如更改权限之类的操作,而对硬链接则不执行任何操作。
即使您可以使用SITE支持硬链接,也必须实现决定何时使用此类链接的逻辑。使用rsync,此逻辑将内置到rsync服务器中,并在服务器站点上执行。使用FTP,您必须在客户端站点上构建所有逻辑,这意味着您必须下载文件以将其与本地文件进行比较,然后确定是否需要上传新文件,或者是否需要硬链接到可以使用现有文件。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句