TAR особые приемы

tar exclude

*TAR особые приемы*

1) Сделать бэкап всех файлов config.xml из папки /home/user/.hudson:

tar cfv /home/isanko/backup/jenkins/jenkins_config.tgz `find /home/user/.hudson -name config.xml`

2) Чтобы исключить определенные каталоги при подготовке архива надо делать так:

tar --exclude='./folder' --exclude='./upload/folder2' cvfj backup.tbz backup/

При этом надо учесть следующее - если указанный каталог содержит только файлы без вложенных каталогов, то надо указать файлы по маске.

Например, так:

tar --exclude='./upload/folder2/*' cvfj backup.tbz backup/

Другой синтаксис, где можно под одним ключом указать список каталогов:

tar czfz MyBackup.tar.gz --exclude={"/home/user/public_html/tmp","/home/user/public_html/data"} /home/user/public_html/

3) Бэкап в цикле по списку

#!/bin/bash
PFC="
amavis
courier-authlib
dovecot
httpd2
opendkim
postfix
postfixadmin
postgrey
sasl2
spamassassin
"
DS=$(date +%y%m%d%H%M)

for PF in $PFC; do
   echo $PF
   #tar --append -fpf_set_$DS.tar /etc/$PF
   tar -rPv -fpf_set_$DS.tar /etc/$PF --warning=none
done
gzip pf_set_$DS.tar

Сжимать сразу не получается. Имя файла должно стоять после ключа "-f" без пробела!