最喜欢的 rsync 技巧和窍门

最喜欢的 rsync 技巧和窍门

我使用得越多,rsync就越意识到它是文件传输的瑞士军刀。有这么多选项。我最近发现你可以去,--remove-source-files它会在复制文件后从源中删除文件,这使得它更像是一个移动程序,而不是复制程序。:)

您最喜欢哪些 rsync 小技巧和窍门?

答案1

如果您需要同步许多文件,请尝试使用 rsync 版本 3!V3 逐步构建其文件列表,速度比版本 2 更快,占用的内存更少。

根据你的平台,这可能会有很大的不同。在 OSX 上,版本 2.6.3 需要花费一个多小时或崩溃才能尝试建立 500 万个文件的索引,而我编译的版本 3.0.2 可以立即开始复制。

答案2

使用--link-dest创建节省空间的基于快照的备份,这样您似乎拥有备份数据的多个完整副本(每次备份运行一个),但在运行之间不会发生变化的文件是硬链接的,而不是创建节省空间的新副本。

(实际上,我仍然使用rysnc-其次是-cp -al实现同样目的的方法,请参见http://www.mikerubel.org/computers/rsync_snapshots/有关这两种技术和相关问题的虽然古老但仍然非常好的概述)

这种技术的一个主要缺点是,如果文件由于磁盘错误而损坏,则链接到该文件的所有快照也会损坏,但我也有离线备份,可以在一定程度上防止这种情况发生。另一件需要注意的事情是,您的文件系统有足够的 inode,否则在实际用完磁盘空间之前,它们就会用完(尽管我从未遇到过 ext2/3 默认设置的问题)。

另外,永远不要忘记非常非常有用的--dry-run有点健康的偏执,特别是当你使用这些--delete*选项时。

答案3

如果您需要通过较慢的链接更新包含一些大文件的网站,则可以通过以下方式传输小文件:

rsync -a --max-size=100K /var/www/ 那里:/var/www/

然后对大文件执行以下操作:

rsync -a --min-size=100K --bwlimit=100 /var/www/ 那里:/var/www/

rsync 有很多选项对网站来说很方便。不幸的是,它没有内置检测同时更新的方法,因此您必须在 cron 脚本中添加逻辑,以避免重叠写入大型文件。

答案4

当我尝试将一个目录中的一小部分文件同步到另一个位置时,我使用 --existing 选项。

相关内容