Исключаем файлы по маске из TAR архива:
[root@shell ~]$ find /patch/to/dir/ -iname "*.php" -exec tar -rf /patch/to/filename.tar {} \;
Исключаем файлы и директории из архива:
cd /patch/to/dir/
tar -czvf - --exclude=www/photo --exclude=www/uploads --exclude='<em>.zip' --exclude='</em>.jpg' ./www/ | split -b 1999m - ./backup-filename.tar.gz
- Сначала мы переходим в родительскую директорию, в которой находится нужная для архивации директория.
- Мы вводим исключения для директорий а затем для типов файлов, потом объеденяем всё это и архивируем в TAR GZ архив.
Если вы хотите автоматизировать создание резервных копий (бекапов), то можете создать следующий скрипт, который можно зарядить в CRON:
#!/bin/sh</p>
<p>backup_date="$(date +%d.%m.%Y)"
backup_filename="$(date +%d.%m.%Y)_backup_filename.sql"</p>
<p>cd /patch/to/dir/
tar -czvf - --exclude=www/photo --exclude=www/uploads --exclude='<em>.zip' --exclude='</em>.jpg' ./www/ | split -b 1999m - ./$backup_filename.tar.gz
Помещаем этот скрипт в домашнюю директорию:
mv backup.sh /home/user_dir_name
Затем прописываем в CRONTAB следующее:
[root@shell]# export EDITOR="nano"
[root@EUROEXPO]# crontab -e</p>
<ul>
<li>5 1,15 <em> </em> bash /home/user_dir_name/backup.sh
Директива <em> 5 1,15 </em> * bash
приказывает системе создавать архив 2 раза в месяц (1 и 15 числа каждого месяца).
Либо помещаем скрипт в папку /etc/cron.monthly/
(он будет выполняться раз в месяц)