我知道--ignore-existing
选项,并想知道是否存在稍微不同的内容。
我的情况是:我有一个包含大量用户上传图片的网络服务器。现在约2TB。通常这些文件根本不会被修改。我使用rsync并将它们备份到其他服务器。
但是如果某个文件被破坏怎么办?假设,一半文件消失了。它将复制到备份并覆盖以前正确的文件,因此备份也会被破坏。
我可以使用--ignore-existing
。但是,如果某些文件仍然被更改(这很少但可能),该怎么办?使用此选项,备份将不会有此新文件。
如果文件发生变化,我希望备份文件的所有版本。可能吗?也就是说:如果rsync定义该文件已经存在,它会将现有的旧文件移动到某个../previous-TIMESTAMP/oldFileHere
,之后将新文件放在旧文件的位置。
有没有办法实现这个目标?
答案 0 :(得分:6)
如果您不想使用rsnapshot,可以使用带有如下后缀的目标文件:
rsync --backup --suffix=`date +'.%F_%H-%M'` ~/life_story.txt /media/myusername/backupdrive/life_story.txt
注意:
--backup-dir
),但我自己没有尝试过。答案 1 :(得分:4)
我认为你想使用rsnapshot
而不是rsync
。它专门用于恢复旧版本的文件。它在~/.snapshots
目录中按小时,每周和每月提供文件版本控制。
如果您的文件很小,您甚至可以考虑将它们放在git
回购中,而不是基于时间进行修改。这就是我对数据库,点文件和个人笔记的处理方式。