使用硬链接的FTP备份脚本

测度

通常我使用基于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 }')"
斯蒂芬·乌尔里希(Steffen Ullrich)

编辑,因为从原始问题来看,对于我来说设置还不够清楚。

基于问题的更新,情况是,您需要通过ftp从Windows系统中提取备份服务器上的数据。在这种情况下,您可以改编自己的脚本(请参阅评论)或使用类似的想法:

  • 使用cp -lr克隆以前的备份与硬链接。
  • 用于使用lftp --mirror远程系统上已更新的任何内容覆盖此副本。

但是我最初假设您需要将数据从Windows系统推送到备份服务器,即FTP服务器在备份系统上。这种情况无法以这种方式处理(以下为原始答案):

由于FTP根本不知道链接,因此任何传输都只会导致新文件或覆盖文件。唯一的方法是使用SITE命令发布特定于站点的命令,并通过硬链接处理这种方式。但是特定于站点的命令通常受到严格限制,因此您可以执行诸如更改权限之类的操作,而对硬链接则不执行任何操作。

即使您可以使用SITE支持硬链接,也必须实现决定何时使用此类链接的逻辑。使用rsync,此逻辑将内置到rsync服务器中,并在服务器站点上执行。使用FTP,您必须在客户端站点上构建所有逻辑,这意味着您必须下载文件以将其与本地文件进行比较,然后确定是否需要上传新文件,或者是否需要硬链接到可以使用现有文件。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用NTFS硬链接组合完整/差异备份

来自分类Dev

pax命令用于使用类似于rsync的硬链接进行增量备份

来自分类Dev

方便的脚本来减少硬链接数?

来自分类Dev

使用shell脚本备份git

来自分类Dev

使用几个硬链接编辑文件

来自分类Dev

如何使用保留的硬链接复制目录?

来自分类Dev

可以将硬链接用于备份重复数据删除吗?

来自分类Dev

使用cp将软链接转换为硬链接

来自分类Dev

如果可能,创建硬链接,否则使用符号链接

来自分类Dev

在不支持硬链接的文件系统上使用硬链接解压缩tarball

来自分类Dev

使用crontab备份Git Repo的Shell脚本

来自分类Dev

如何使用bash脚本备份目录

来自分类Dev

Freebsd:使用Shell脚本备份dotfiles

来自分类Dev

使用bash脚本备份bitbucket的问题

来自分类Dev

使用 shell 脚本进行在线备份

来自分类Dev

使用Java脚本实现ftp

来自分类Dev

如何使用mklink命令在Windows中创建硬链接?

来自分类Dev

创建硬链接,而不是使用rsync复制文件

来自分类Dev

如何使用lstat()确定是否进行硬链接

来自分类Dev

为什么 inode 不再使用硬链接更改

来自分类Dev

在配置脚本中使用硬编码的/ usr / bin / env

来自分类Dev

硬链接创建-权限?

来自分类Dev

硬链接创建-权限?

来自分类Dev

USN期刊的硬链接

来自分类Dev

MSWord打破硬链接

来自分类Dev

就地断开硬链接?

来自分类Dev

从网络创建硬链接

来自分类Dev

取消引用硬链接

来自分类Dev

Simfs硬链接行踪