Хостинг

Архивация в centos с исключением ненужного

Архивация в centos с исключением ненужного

Вы можете использовать команду tar для архивирования с опцией --exclude для исключения папок.

 Вот команда:
tar -czvf /путь/куда/сохранить/архив/bitrix_www_backup_$(date +%Y-%m-%d).tar.gz \
    -C /home/bitrix/www . \
    --exclude='./bitrix/backup' \
    --exclude='./bitrix/html_pages'
 Давайте разберем команду:


- `tar`: основная команда для работы с архивами.

- `-c`: создать новый архив.

- `-z`: сжать архив с помощью `gzip` (получится файл `.tar.gz`). Если хотите `bzip2` (лучше сжатие, но медленнее), используйте `-j` (файл `.tar.bz2`).

- `-v`: (verbose) выводить подробную информацию о процессе (список добавляемых файлов). Можно убрать, если не нужно.

- `-f /путь/куда/сохранить/архив/bitrix_www_backup_$(date +%Y-%m-%d).tar.gz`:


	<li>`-f`: указывает, что следующий аргумент — это имя файла архива.

	- `/путь/куда/сохранить/архив/`: Замените это на реальный путь, куда вы хотите поместить архив (например, `/mnt/backups/` или `/tmp/`). Не сохраняйте архив внутрь папки `/home/bitrix/www/`!

	- `bitrix_www_backup_$(date +%Y-%m-%d).tar.gz`: Имя файла архива. `$(date +%Y-%m-%d)` добавит текущую дату в формате ГГГГ-ММ-ДД к имени файла, что удобно для версионирования бэкапов.
- `-C /home/bitrix/www`: Эта опция очень важна. Она говорит `tar` сначала перейти в директорию `/home/bitrix/www`, и уже оттуда начинать архивацию. Это делается для того, чтобы в архиве пути были относительными (например, `./index.php`, `./bitrix/modules/` и т.д.), а не полными (`/home/bitrix/www/index.php`). Это упрощает восстановление.
- `.`: После опции `-C /home/bitrix/www`, этот символ (`.`) означает "архивировать текущую директорию" (которая теперь `/home/bitrix/www`).

- `--exclude='./bitrix/backup'`: Исключить папку `bitrix/backup` относительно текущей директории, заданной `-C`. Обратите внимание на `./` – это явно указывает на относительный путь.

- `--exclude='./bitrix/html_pages'`: Аналогично исключить папку `bitrix/html_pages`.


 Пример с конкретным путем для сохранения:
sudo mkdir -p /opt/backups # Создаем директорию для бэкапов, если ее нет
sudo chown $(whoami):$(whoami) /opt/backups # Даем права текущему пользователю (если нужно)

tar -czvf /opt/backups/bitrix_www_backup_$(date +%Y-%m-%d).tar.gz \
    -C /home/bitrix/www . \
    --exclude='./bitrix/backup' \
    --exclude='./bitrix/html_pages'
 Важные моменты:


- Права доступа: Убедитесь, что пользователь, от имени которого вы запускаете команду, имеет права на чтение всех файлов в `/home/bitrix/www/` (кроме исключаемых) и права на запись в директорию, куда вы сохраняете архив. Возможно, потребуется `sudo`, если файлы принадлежат другому пользователю (например, `bitrix` или `www-data`), но тогда и архив будет принадлежать `root`.

- Место для архива: Убедитесь, что в месте сохранения архива достаточно свободного дискового пространства.

- Тестирование: Всегда полезно сначала протестировать команду на небольшой тестовой структуре папок или с опцией `-v` и внимательно следить за выводом, чтобы убедиться, что исключения работают правильно.

- Восстановление: Для восстановления из такого архива (например, в папку `/tmp/restore_test/`):
mkdir -p /tmp/restore_test
tar -xzvf /opt/backups/bitrix_www_backup_YYYY-MM-DD.tar.gz -C /tmp/restore_test/
 Эта команда является стандартным и надежным способом создания архивов с исключениями в Linux.