Você está certo com a opção "- R" para usar caminhos relativos, mas funciona de maneira um pouco diferente. O $ {MODULE} exporta exatamente a parte do sistema de arquivos do servidor rsync que é definida pelo parâmetro "path" .
Você deve ter apenas um parâmetro "caminho" por seção "módulo" definido. Isso explica por que você pode ver o conteúdo / root primeiro e / etc depois, já que ele parece ser sobrescrito quando vários parâmetros de caminho são especificados.
Eu tentaria definir um módulo por diretório que eu queira fazer backup
uid=0
gid=0
read only = true
use chroot = true
[root]
path = /root
[etc]
path = /etc
e, em seguida, chame o rsync em todos esses módulos
for MODULE in root etc; do
rsync -avzR $SERVER::$MODULE $DST_DIR/$MODULE
done
Ou eu exportaria uma parte maior do sistema de arquivos do servidor com uma única seção de módulo
uid=0
gid=0
read only = true
use chroot = true
[root]
path = /
E os diretórios de backup requied
rsync -avzR $SERVER::$MODULE/root $SERVER::$MODULE/etc $DST_DIR
As duas formas preservarão a estrutura de diretório original / absoluta que você solicitou.