Вы можете использовать команду 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. Свяжитесь с нами, чтобы обсудить вашу задачу.