duplicity --exclude选项不排除提到的目录

时间:2017-05-10 13:48:51

标签: linux backup duplicity-backup

#!/bin/bash

datetime="`date +%Y%m%d`";

export AWS_ACCESS_KEY_ID="MYKEY"
export AWS_SECRET_ACCESS_KEY="MYSECRET"
export BACKUP_DEST_FILES="s3://s3.eu-central-1.amazonaws.com/mybucket"

cd /var/www/
dirs=($(find * -maxdepth 0 -type d))
for dir in "${dirs[@]}"; do
cd $dir
subdirs=($(find * -maxdepth 0 -type d))
for subdir in "${subdirs[@]}"; do
duplicity full --exclude "**logs/**" --exclude "**backups/**" --no-encryption $subdir $BACKUP_DEST_FILES/$dir/$datetime/$subdir
done
cd ../
done

此代码应该备份/ var / www /下的每个directtory和子目录,除了" logs"和"备份"显示目录。

虽然它与下面的rsync命令完美配合:

rsync -ar --exclude='backup' --exclude='log' --exclude='logs' --exclude='backups' $subdir backups/$datetime/

..它不能使用下面的duplicity命令。它只是备份所有内容而不排除。

duplicity full --exclude "**logs/**" --exclude "**backups/**" --no-encryption $subdir $BACKUP_DEST_FILES/$dir/$datetime/$subdir

我在这里缺少什么?

1 个答案:

答案 0 :(得分:0)

好的,我在subdirs=($(find * -maxdepth 0 ! -path /path/to/exclude -type d))点排除了不必要的目录。 因此,在双重处理之前的步骤中,目录被排除。

谢谢。