rsync备份:无 – 删除选项和旋转…?

使用rsync(没有–delete选项)来进行我的日常备份并且在备份服务器上只保留一个副本(而不是有多个循环副本)是否合理安全?

如果我不启用–delete选项,任何备份文件将不会被删除,正确的?

谢谢

(这起始于对OnoeOfOne的回答的评论,但是因为这个太长了……)

我使用了一个类似于http://www.mikerubel.org/computers/rsync_snapshots/中显示的rsync + cp -al方法(2005年的某个时候,该页面是我原来的小床单,而且我还没有修改过任何可怕的东西很多),既用于我的个人备份,也用于pipe理工作中的在线+在线和在线+在线备份。

这需要多less空间取决于大小的平衡以及文件更改和删除的频率。 对于我们来说,这样保持每年快照一年以上,不会比三次完整的数据副本占用更多的空间,因为我们大多数普通networking共享上的文件不会经常被修改或删除。 实际上,对于许多快照来说,目录结构比变更文件中的数据占用更多的空间。

有一点需要注意的是,因为同一版本的文件的每个副本实际上是相同的数据,磁盘上的损坏可能会一举杀死所有快照中的文件,所以仍然存在多份。 我们通过在不同的机器上使用多个副本,并使用RAID1来保护机器免受某些可能的物理问题,从而缓解这种情况。 如果您只有一个在线备份位置,另一种解决方法是实际保留两个副本并单独进行同步,或者偶尔强制进行全面刷新(例如每月或每周一次),以便最终获得快照组:即每月强制刷新 – 一月份快照中所有相同的文件都是相同的数据块,与二月份相同,但如果在两个月内存在,则实际数据至less有两个副本。

如果你不启用 – 删除,文件不会被删除是的。 虽然一个文件可以被截断为0字节,如果这是源头。

还要检查–backup选项,看看是否适合你在做什么。

你将如何防止简单地复制和销毁你唯一的备份副本的数据损坏,或者你是否将它们归档到某个地方?

根据源代码的样子以及代码的变化,如果你永远不删除它,你可能会随着时间的推移积累大量的旧的和旧的数据。

看看rsnapshot 。 它为已修改的文件执行rsync,但为自上次旋转后未修改的文件创build一个硬链接。 这与使用原始rsync几乎一样简单,但是您可以节省您担心的空间。

我个人使用的是使用硬链接的rsync并保留5个副本,诀窍是,如果文件没有改变,它不会以这种方式占用额外的空间,并且如果有事情发生,它很容易恢复。

 #!/bin/sh BACKUP_DIR=/mnt/data-3/backups/ cd ${BACKUP_DIR} #remove the oldest backup rm -rf backup.4 backup.4.log.bz2 &>/dev/null recycle() { i=$1; y=$(($i+1)) b=${2-backup} mv "${b}.$i" "${b}.$y" &>/dev/null mv "${b}.$i.log.bz2" "${b}.$y.log.bz2" &>/dev/null } recycle 3 recycle 2 recycle 1 recycle 0 OPTS="--numeric-ids --delete --delete-after --delete-excluded" DIRS_TO_BACKUP="/home /var" nice -n20 ionice -c2 -n2 rsync -axlHh -v --link-dest=../backup.1 ${OPTS} ${DIRS_TO_BACKUP} backup.0/ --exclude-from=/root/.rsync-exclude 2>&1 | bzip2 -9 > backup.0.log.bz2 

我的/root/.rsync-exclude:

 *~ *.cmd* *.log cache4 /tmp/ .ccache .thumbnails/ lost+found /var/log/ /var/run/ /var/lock/ /var/tmp/ /usr/src/