Eu inventei isso. Ele procura dentro de um diretório definido, arquiva todos os diretórios dentro de seus próprios arquivos separados e fornece a eles um nome baseado no nome do diretório de origem & data da execução do script.
#!/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
O problema com isso? A menos que o diretório de destino esteja fora do diretório de origem, ele continuará arquivando a pasta de backup onde o arquivo / s anterior já foi criado; como a variável $EXCLUDE
não está sendo usada.