我想使用 rsync 作为备份解决方案;我正在将机器的内容同步到外部硬盘驱动器。如果我的机器崩溃了,我想将另一台机器恢复到尽可能接近我目前拥有的机器,因为我已经下载并定制了一大堆软件用于我的研究。重新安装和定制将花费大量时间和精力。
当我运行这个空运行命令(替换为真实但很长的文件路径)时:
sudo rsync --dry-run -azv --delete --exclude-from '/exclude/list/file.txt' "/" "my/backup/location"
我得到错误
rsync: readlink_stat("/run/user/1000/gvfs") failed: Permission denied (13)
rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1183) [sender=3.1.1]
我当然可以通过排除 /run/user/1000/gvfs 来避免这个错误。事实上,在排除后,我不再有错误。
但是,正如我所说,我希望能够在我的机器崩溃并且我希望新机器像旧机器一样工作(或尽可能接近)的情况下使用此同步。
我需要这个 /run/user/1000/gvfs 吗?如果是这样,我该如何正确克隆它?
谢谢
我不包括
/run
在我的备份中,因为它的全部内容在每次启动时都会被擦除。它的内容只存在于当前正在运行的进程中。这同样适用于
/tmp
和/var/run
。它是可选的,/var/cache
并且/var/tmp
从某种意义上说,数据在重新启动/var/cache
后/var/tmp
会保留下来,但可以在两次启动之间删除而不会产生任何后果。所以我不在备份中包含上述任何目录。在这种情况下
/run/user/1000/gvfs
不是一个普通目录,而是由 FUSE 系统放置到目录树中,以包含由普通用户设置的当前临时磁盘挂载的挂载点,例如,在插入 USB 驱动器时,图形桌面。与其他的一样/run
,您不需要备份它。