Хостинг

Архивация в 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:

  • -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.


Ищете надежного партнера по веб-разработке и автоматизации? Мы помогаем бизнесу расти с помощью современных технологий, автоматизации процессов и экспертного SEO. Свяжитесь с нами, чтобы обсудить вашу задачу.

🚀 Нужна помощь с сайтом на 1С-Битрикс или Аспро?

Я работаю удалённо по всей России и СНГ. Узнайте цены и условия для вашего города:

Все регионы →