rsync过滤器,除了给定的(子)目录以外,不包括所有内容

问题描述 投票:0回答:1

我想用rsync和我的备份策略排除我明确想要的以外的所有事物做Linux系统备份。我没有找到正确的过滤规则。

我有文件sync_filter

+ /etc
+ /home
+ /opt
+ /root
+ /srv
+ /var/backup
+ /var/log
+ /var/mail
+ /var/www
- /*

我认为,我的意图很明确。我要包含/etc,依此类推,我要包含/var/log/var/mail,但是我要包含/var/cache

我在/var部分上没有成功。

正在运行rsync -av --filter "merge sync_filter" --delete root@remote:/ .将完全跳过/var部分。

[从文档中,我了解到,例如/var/backup被跳过,因为/var过滤器排除了- /*

[我也知道我可以加入+ /var,并排除例如- /var/cache,但我想通过我的备份策略排除我明确想要的以外的所有内容来成功。

linux backup rsync
1个回答
0
投票

我此后找到了解决方案。过滤器必须是:

+ /etc
+ /home
+ /opt
+ /root
+ /srv
+ /var
+ /var/backup
+ /var/log
+ /var/mail
+ /var/www
- /var/*
- /*
© www.soinside.com 2019 - 2024. All rights reserved.