使用 rsync 在外部 HDD 上备份我的资料

使用 rsync 在外部 HDD 上备份我的资料

我的情况是这样的:

  • 我有一个外部硬盘驱动器,其中包含 /home/ 目录中的所有文件夹(/Documents、/Pictures 等等都在外部硬盘驱动器的根目录中)
  • rsync -r ./dir-on-computer/ ./dir-on-external-drive/最近几个月已经使用了。
    最近我注意到,当我使用它时,它需要一段时间,而且它似乎不仅复制我已更改的文件,而且还复制我未更改的文件。

这可能只是我缺乏耐心,但我也看到rsync -av它也用于其他人的备份(我知道整个存档和详细标签,但只是想知道-av和之间有什么区别-r)。

所以,总的来说,我想在两件事上得到建议:

  • 使用 rsync 的更好方法,确保它是增量的
  • (另一个问题)我想重新同步音乐目录中的文件,而不同步音乐目录中的子目录(/Music/other-stuff)

我知道我问这个问题非常懒,而不是在谷歌上搜索信息,但如果您能为我的情况提供任何信息,我将不胜感激。

答案1

快速解决方案,使用:首先进行一次试运行('n')以确保 rsync 是否正常运行

 rsync -anPv Documents/Pictures/ /media/HDD/Pictures/

然后同步文件夹

 rsync -aPv Documents/Pictures/ /media/HDD/Pictures/

如果您想跳过某些文件夹:

rsync -aPv --exclude Documents/Pictures/UNWANTED Documents/Pictures/ /media/HDD/Pictures/

这是查看更多详细信息的好地方 http://www.thegeekstuff.com/2011/01/rsync-exclude-files-and-folders/?utm_source=feedburner

答案2

为什么要一遍又一遍地复制所有文件。从 rsync 手册页中您可以阅读:

        -I,--忽略时间
              通常,rsync 将跳过任何已经相同大小且具有相同修改时间戳的文件。此选项关闭这种“快速检查”行为,导致所有文件都被更新。

A是一组其他几个开关以及t

        -a, --archive 归档模式;等于 -rlptgoD(无 -H、-A、-X)
        -t, --times 保留修改时间

因此,据我了解,您正在复制文件并为它们提供当前时间戳(备份时间的当前时间戳),并且下次执行备份 rsync 时假设该文件不同。我建议使用-A切换,因为它还设置文件的权限和所有权。

至于第二个问题我会考虑使用--排除=模式转变。

相关内容