Исключаем файлы по маске из 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

  1. Сначала мы переходим в родительскую директорию, в которой находится нужная для архивации директория.
  2. Мы вводим исключения для директорий а затем для типов файлов, потом объеденяем всё это и архивируем в 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/ (он будет выполняться раз в месяц)