Заметки программиста

Исключить отдельные файлы из резервных копий сайтов

Исключить файлы *.mmdb из резервных копий сайтов в ISPConfig можно несколькими способами. Наиболее надёжным и рекомендуемым является использование поля «Исключенные каталоги» в настройках сайта в панели управления ISPConfig. 

Метод 1: Исключение через панель управления ISPConfig

Этот метод позволяет настроить исключения для каждого сайта индивидуально.

  1. Войдите в панель управления ISPConfig.
  2. Перейдите в раздел «Сайты» (Sites).
  3. Нажмите на домен, для которого нужно настроить исключение.
  4. Перейдите на вкладку «Бэкап» (Backup).
  5. Найдите поле «Исключенные каталоги» (Excluded directories).
  6. Введите в это поле шаблон *.mmdb. ISPConfig поддерживает маски, так что файлы с таким расширением будут игнорироваться при создании бэкапа. Указывайте пути относительно корня веб-пространства, если это необходимо. 

Метод 2: Использование файла .donotbackup

ISPConfig также позволяет исключать каталоги из бэкапов с помощью специального файла .donotbackup.

  1. Подключитесь к серверу по SSH.
  2. Перейдите в корневой каталог веб-сайта. Обычно это /var/www/clients/client#/web#/web.
  3. Создайте файл .donotbackup в каталоге, который нужно исключить.
    • Пример: Если файлы *.mmdb находятся в каталоге /var/www/clients/client#/web#/web/httpdocs/data/, то создайте файл .donotbackup внутри этого каталога.
  4. Команда для создания файла: touch /var/www/clients/client#/web#/web/httpdocs/data/.donotbackup Где client# и web# — это числовые идентификаторы клиента и сайта в вашей системе ISPConfig.

Метод 3: Исключение через настройки утилиты tar

Для более сложных сценариев, например, если нужно исключить файлы глобально для всех сайтов, можно отредактировать скрипт создания бэкапов ISPConfig. Этот метод требует осторожности, так как изменения могут быть переписаны при обновлении ISPConfig.

  1. Подключитесь к серверу по SSH с правами root.
  2. Найдите скрипт, отвечающий за создание бэкапов. Как правило, он находится в /usr/local/ispconfig/server/lib/backup.lib.php.
  3. Найдите в скрипте вызов команды tar. Она используется для архивирования файлов сайта.
  4. Добавьте в вызов tar опцию --exclude.sh--exclude='*.mmdb' Пример:
    Изначально команда может выглядеть так: tar -cpzf /путь/к/бэкапу/website.tar.gz -C /путь/к/сайту . После изменения: tar --exclude='*.mmdb' -cpzf /путь/к/бэкапу/website.tar.gz -C /путь/к/сайту .

Какой метод выбрать?

  • Для исключения файлов с конкретным расширением на одном или нескольких сайтах: Используйте Метод 1. Это самый простой и безопасный способ, который не будет затронут обновлениями ISPConfig.
  • Для исключения целого каталога на одном сайте: Используйте Метод 2, создав файл .donotbackup в соответствующей директории.
  • Для глобального исключения файлов с определённым расширением для всех сайтов: Используйте Метод 3, но будьте готовы повторить изменения после обновления ISPConfig.