通过 SSH 备份/同步大型目录的最有效方法

通过 SSH 备份/同步大型目录的最有效方法

我希望每天使用最小的带宽将专用服务器上的一些大型目录备份到另一台服务器

RSync 看起来可以胜任这项任务,但我不确定最好的命令开关

我想通过 SSH 将多个选定的目录复制到另一台计算机上的一个“备份”目录

有任何想法吗?

答案1

我想补充一点,您最好使用用户--numeric-ids标志来保留文件的 uids/gids,这样它们就不会被重新映射到本地用户。

如果您要保留历史备份(例如,YYYY-MM-DD daliy 目录),该选项--link-dest=DIR将非常有用。

如果您的数据可以被有效压缩(源代码、纯文本文件、日志),那么它-z会非常方便。

否则,-aH将满足您的大部分需求。

答案2

尝试这样做(从备份服务器):

rsync \
    -a \
    --bwlimit=100 \
    remote-server:"/path1 /path2 /path3" /local/backup_$(date +%Y%m%d_%H:%M)

--bwlimit=100代表几乎 100KB/秒

您可以使用硬链接cp -al几天之间,这样您就可以节省大量磁盘空间并且rsync仅更改文件!

这就是如何rsnapshot项目工程。

答案3

rsync没问题,但请记住,您需要在其中一台机器上运行rsyncd才能利用 rsync变化检测算法

至于硬链接 sputnick 提到的,您可能也感兴趣fdupes

答案4

Rsync 确实是处理此问题的正确低级工具。不用担心 rsync 选项,而是使用专用的备份工具,有很多。快照是一个流行的选择,看看你的要求(你不是很明确)是否满足它的功能。表里不一是另一个基于rsync库的备份工具。

相关内容