#!/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/下的每个目录和子目录,除了"logs“和"backups”目录。
虽然它与下面的rsync命令工作得很好:
rsync -ar --exclude='backup' --exclude='log' --exclude='logs' --exclude='backups' $subdir backups/$datetime/..it不能与下面的重复命令一起工作。它只是备份所有内容,并不排除。
duplicity full --exclude "**logs/**" --exclude "**backups/**" --no-encryption $subdir $BACKUP_DEST_FILES/$dir/$datetime/$subdir这里我漏掉了什么?
发布于 2017-05-11 02:17:46
好的,我排除了subdirs=($(find * -maxdepth 0 ! -path /path/to/exclude -type d))点中不必要的目录。因此,在重复之前的步骤中,目录将被排除。
谢谢。
https://stackoverflow.com/questions/43894427
复制相似问题