Как мне сжать список каталогов в отдельные архивы? я прочитал решения которые просто архивируют все каталоги в данном каталоге, но есть некоторые, которые я хочу пропустить. Возможно, более простым способом было бы определить каталоги, которые я НЕ хочу архивировать.
Это сделано для целей резервного копирования, поэтому, если можно будет легко реализовать инкрементное архивирование, это будет огромным плюсом. К сожалению, 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
переменная не используется.