使用 rsync 进行安全、自动备份

使用 rsync 进行安全、自动备份

我使用远程 ssh 服务器同步几台不同设备上的文件rsync。问题是我有时会忘记同步我修改过文件的设备,这会让事情变得复杂。我的第一个问题是如何在 Ubuntu 中自动同​​步,我的意思是在修改文件时同步,但不要“太频繁”(比如当我在处理文本文件时)。

现在,自动同步的一个问题是,如果我在一台设备上搞砸了一个文件,它就会传播到其他设备上(当我错误地删除文件时,我甚至可能没有意识到这一点)。所以我想在远程服务器上进行备份。不久前,我使用了 rsync 中的备份选项,但备份的文件来回同步,造成了混乱。我怎样才能在远程服务器上备份旧文件而不将它们发送回本地设备?有没有办法控制每个文件保留多少个备份?

答案1

当您使用 rsync 选项时,您可以有多个备份--link-dest

rsync 将使用您的备份树创建另一个目录,硬链接未更改的文件,并仅复制已更改的文件。这样您就不会使用两倍的空间。例如:

rsync -a --delete --link-dest=../previous_backup source_directory/  backup

您必须使用支持硬链接的文件系统才能使其工作,ext4 可以正常工作。

我以前使用过 NTFS 可移动磁盘,但文件系统的性能受到很大影响:包含大约 15 个先前备份的 130 GB 备份需要 80 多分钟才能完成。在我将整个树移动到 ext4 分区(在同一磁盘上)后,后续备份大约需要 2 分钟才能完成。

我已根据自己的需要调整了此页面的脚本:

http://www.mikerubel.org/computers/rsync_snapshots/

答案2

我建议将备份和同步分开。例如,使用 rsnapshot 进行备份,使用 lsync、owncloud、git 或 rsync(取决于需求和情况)同步数据以进行处理。

相关内容