Rsync 从 root 中排除

Rsync 从 root 中排除

我对 rsync 的排除感到困惑。

我正在尝试备份以 / 开头的所有内容,但排除 /media/ /mnt/ /home/files/ 和 /home/backup

sudo rsync -a \
       --progress \
       --stats \
       --exclude-from=/home/files/ \
       --exclude-from=/media/ \
       --exclude-from=/mnt/ \
       --exclude-from=/home/backup/ \
   / /home/backup

行不通。

我最终将文件复制到 /home/backup/home/backup/... 我读到我必须编写相对于我的传输根的排除,但我猜如果 / 是我的传输根,那么 /media/ 应该相对于对吗?

答案1

man rsync

--exclude=PATTERN       exclude files matching PATTERN
--exclude-from=FILE     read exclude patterns from FILE

except-from 用于指向列出您不需要的文件夹的文件。尝试选项--排除

答案2

你的语法不正确;这就是为什么它不起作用。

你说:

--exclude-from=/home/backup/

当你应该简单地说

--exclude="/home/backup/*"

另外,您没有使用

--delete-excluded 

可以同步目录的开关。

至于你最后的问题:是的,在你的情况下,你指定/为 rsync 的开始。因此,如果您排除,"tmp/*"那么它确实是相对于的/,所以它与指定相同"/tmp/*"

相关内容