rsync和符号链接
我想每晚使用cron
作业执行rsync
将我的主目录备份到外部驱动器。我不确定rsync
的符号链接标志的具体行为。
1.rsync
的-a
标志包括-l
标志(即 “将符号链接复制为符号链接")。这是否仅仅意味着它将复制链接,还是说它将按照链接复制链接到目录中的所有内容?我想避免这种情况,因为我的链接到目录中充满了媒体文件,这将涉及到复制数百GB的文件,我不需要备份。
2. 由于担心(但不确定)rsync -a
会复制所有这些媒体文件,我反而添加了--no-links
标志。这似乎不是我想要的行为。它只是忽略复制任何链接,这是有问题的,因为我确实有我想要复制的链接(例如来自不同项目目录的通用头文件的链接)。
3. 假设上面的#1(没有--no-links
标志)是我真正想要的,它只是复制链接而不复制链接到的文件,那么当链接被备份时,它们会不会被破坏?例如我可能会将rsync
源目录/home/me/projects/misc
改为/media/extdrive/backup/home/me/projects/misc
。在这种情况下,我假设rsync
不够智能,也不会尝试修正相对目录变化的symlinks内容。这样做对吗?这是好的,如果链接在备份目录中被破坏了也没有关系,只要它们在需要恢复的时候能够被修复和工作就可以了。