duplicity
умеет исключать каталоги
duplicity --exclude=/dir/somedir/someotherdir/dontbackup...other options...
(это будет выполняться для резервного копирования всего /dir
за один раз)
Если вам нужно сделать отдельную резервную копию для каждого из подкаталогов /dir
, прежде всего убедитесь, что вы сопоставляете подкаталоги с помощью шаблона /dir/*/
, затем проверьте имя файла каталога на соответствие тем, которые вы хотите избежать:
for vol in /dir/*/; do
case $vol in
*/somedirectory/) continue ;;
*/someotherdirtory/) continue ;;
esac
volume=$( basename "$vol" )
duplicity...
done
или,
for vol in /dir/*/; do
volume=$( basename "$vol" )
case $volume in
somedirectory) continue ;;
someotherdirtory) continue ;;
esac
duplicity...
done
или,
for vol in /dir/*/; do
volume=$( basename "$vol" )
case $volume in
somedirectory|someotherdirectory|more here) continue ;;
esac
duplicity...
done
Или, с расширенным шаблоном подстановки вbash
:
shopt -s extglob
for vol in /dir/!(somedirectory|someotherdirectory|...)/
volume=$( basename "$vol" )
duplicity...
done