我有以下rsync
命令来创建备份,并且我想从网站中排除缓存文件夹:
rsync -aAXv --delete --exclude-from='/usr/local/maxicron/rsync/conf/exclude.txt' /home/admin/domains/server.com/public_html /backup/rsync/local
为了演示,内容exclude.txt
只有一行
/home/admin/domains/server.com/public_html/var/cache/*
该命令通过从 public_html 创建备份来工作,但我仍然获得在备份文件中创建的缓存文件夹,网址为/backup/rsync/local
。预期结果是文件夹缓存中不应包含任何内容。
我在某处读到该exclude-from
命令将使用源备份中的绝对路径。所以我也改变了这个排除行
/home/admin/domains/server.com/public_html/var/cache/*
对此
/var/cache/*
或者
var/cache/*
或者
./var/cache/*
但它们都不起作用,我仍然创建了缓存文件夹。也没有错误。任何想法?
答案1
答案2
我不确定为什么文本文件中声明的绝对路径不起作用。因此,我添加了另一个名为--relative
rsync 的选项,如下所示,并将路径保留为该文本文件内的相对路径:
它的工作原理如下:
rsync -aAXv --relative --delete --exclude-from='/usr/local/maxicron/rsync/conf/exclude.txt' /home/admin/domains/server.com/public_html /backup/rsync/local