Назад | Перейти на главную страницу

gzip выделить каталоги в отдельные архивы

Как мне сжать список каталогов в отдельные архивы? я прочитал решения которые просто архивируют все каталоги в данном каталоге, но есть некоторые, которые я хочу пропустить. Возможно, более простым способом было бы определить каталоги, которые я НЕ хочу архивировать.

Это сделано для целей резервного копирования, поэтому, если можно будет легко реализовать инкрементное архивирование, это будет огромным плюсом. К сожалению, rsync мне не подходит.

В качестве альтернативы сценарий, такой как AutoMySQLBackup а вот за справочники для меня было бы большой компромат.

Я это придумал. Он просматривает определенный каталог, архивирует все каталоги в их собственных отдельных файлах и дает им имя на основе имени исходного каталога и даты выполнения скрипта.

#!/bin/bash

#START
TIME=`date +%Y-%m-%d_%Hh%Mm`     # Append date and time to backup file
SRCDIR=/srv                      # Location of directories to backup
DESDIR=/srv/backup               # Destination of backup files
EXCLUDE=exclude.txt  # File which defines what to exclude from archiving

for dir in $SRCDIR/*/
do
  base=$(basename "$dir")
  tar -cpzf $DESDIR/$base-$TIME.tar.gz $dir
done
#END

Проблема с этим? Если целевой каталог не находится за пределами исходного каталога, он будет продолжать архивировать папку резервного копирования, в которой предыдущие архивы уже были созданы; как $EXCLUDE переменная не используется.