TAR особые приемы
Бэкап файлов с одинаковым именем
Сделать бэкап всех файлов config.xml из папки /home/user/.hudson:
Исключение каталогов
Чтобы исключить определенные каталоги при подготовке архива надо делать так:
При этом надо учесть следующее - если указанный каталог содержит только файлы (без вложенных каталогов), то надо указать файлы по маске.
Например, так:
Другой синтаксис, где можно под одним ключом указать список каталогов:
tar czfz MyBackup.tar.gz --exclude={"/home/user/public_html/tmp","/home/user/public_html/data"} /home/user/public_html/
Бэкап в цикле по списку
#!/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” без пробела.
Обновление версии tar
Сборка из исходников
wget https://ftp.gnu.org/gnu/tar/tar-1.32.tar.gz
tar -xzf tar-1.32.tar.gz
cd tar-1.32
configure --prefix=/bin/tar1.32 DEFAULT_RMT_DIR=/etc # if there exists a file /etc/rmt
make -j 4 # 4 is number of CPU cores available for You
sudo make install
make clean