rsync 备份一切

rsync backs up everything

我正在尝试备份 ubuntu 系统中 / 中的一些重要文件夹。我正在使用

sudo rsync -aAXv --delete --include="/etc" --include="/home" --include="/usr/local" // /home/$USER/Desktop/bkup/

此命令应该只复制 /etc/home/usr/local 目录并保留其余文件。但是,当我 运行 这个命令时,它会复制 / 目录中的每个目录和每个文件。
我不确定我在这里做错了什么。

没有任何排除的包含是没有意义的。

  • --exclude='*' 会从每个子文件夹中排除未明确包含的所有内容,即使是包含的子文件夹。
  • --exclude='*/' 将排除所有未明确包含的目录,但允许在包含的目录(和根目录)内复制文件。
  • --exclude='/*' 将排除所有未明确包含的 root 目录和文件,但允许包含目录中的所有目录和文件。 你可能想要这个。

您应该在包含规则之后添加排除规则。规则是,对于每个目录和文件,重要的是 first 匹配 include/exclude 规则,默认(当没有规则匹配时)是包含。

"root"我指的是复制目录的根目录,不是整个文件系统的根目录。

P.S。您的命令在源目录中也有目标目录;您可能需要一个排除规则!