Перейти к основному содержимому

Включённые или исключённые файлы

Включаемые файлы

YunoHost обычно уже знает, какие файлы нужно резервировать. Однако, если вы внесли изменения вручную, например, установили приложение вне системы приложений YunoHost, вам может потребоваться расширить механизм YunoHost, чтобы указать другие файлы для резервного копирования.

По умолчанию, если изменяются конфигурации, отслеживаемые YunoHost, они будут резервно скопированы. С другой стороны, если база данных или приложение добавлены вручную, изменения в конфигурациях, которые не отслеживаются, не будут резервно скопированы.

Вы можете создать обработчик резервного копирования и обработчик восстановления для добавления данных в резервную копию. Вот пример:

/etc/yunohost/hooks.d/backup/99-conf_custom

#!/bin/bash

# Source YNH helpers
source /usr/share/yunohost/helpers

ynh_backup_dest (){
YNH_CWD="${YNH_BACKUP_DIR%/}/$1"
mkdir -p $YNH_CWD
cd "$YNH_CWD"
}

# Exit hook on subcommand error or unset variable
ynh_abort_if_errors

# Openvpn
ynh_backup_dest "conf/custom/openvpn"
ynh_backup "/etc/sysctl.d/openvpn.conf"
ynh_backup "/etc/openvpn"
ynh_backup "/etc/fail2ban/jail.d/openvpn.conf"
ynh_backup "/etc/fail2ban/filter.d/openvpn.conf"

# Samba
ynh_backup_dest "conf/custom/samba"
ynh_backup "/etc/samba"
ynh_backup "/var/lib/samba"
ynh_backup "/etc/yunohost/hooks.d/post_user_create/99-samba"
ynh_backup "/etc/yunohost/hooks.d/post_user_delete/99-samba"
ynh_backup --src_path="/etc/yunohost/hooks.d/post_user_update/99-samba" --not_mandatory
ynh_backup "/etc/cron.daily/clean-trash"

# MISC
ynh_backup_dest "conf/custom/misc"
ynh_backup "/etc/sysctl.d/noipv6.conf"
ynh_backup "/usr/local/bin/"
ynh_backup "/etc/yunohost/hooks.d/backup/99-conf_custom"
ynh_backup "/etc/yunohost/hooks.d/restore/99-conf_custom"

/etc/yunohost/hooks.d/restore/99-conf_custom

#!/bin/bash

# Source YNH helpers
source /usr/share/yunohost/helpers

ynh_restore_dest (){
YNH_CWD="${YNH_BACKUP_DIR%/}/$1"
cd "$YNH_CWD"
}

# Exit hook on subcommand error or unset variable
ynh_abort_if_errors

# Openvpn
app="custom_openvpn" # This variable is important for the following helper
ynh_install_app_dependencies "openvpn openvpn-auth-ldap samba"

ynh_restore_dest "conf/custom/openvpn"
ynh_restore_file "/etc/sysctl.d/openvpn.conf"
ynh_restore_file "/etc/openvpn"
ynh_restore_file "/etc/fail2ban/jail.d/openvpn.conf"
ynh_restore_file "/etc/fail2ban/filter.d/openvpn.conf"

# Samba
app="custom_samba" # This variable is important for the following helper
ynh_install_app_dependencies "samba"

ynh_restore_dest "conf/custom/samba"
ynh_restore_file "/etc/samba"
ynh_restore_file "/var/lib/samba"
ynh_restore_file "/etc/yunohost/hooks.d/post_user_create/99-samba"
ynh_restore_file "/etc/yunohost/hooks.d/post_user_delete/99-samba"
ynh_restore_file --src_path="/etc/yunohost/hooks.d/post_user_update/99-samba" --not_mandatory
ynh_restore_file "/etc/cron.daily/clean-trash"
chown -R openvpn:openvpn /etc/openvpn

# MISC
ynh_restore_dest "conf/custom/misc"
ynh_restore_file "/etc/sysctl.d/noipv6.conf"
ynh_restore_file "/usr/local/bin/"
ynh_restore_file "/etc/yunohost/hooks.d/backup/99-conf_custom"
ynh_restore_file "/etc/yunohost/hooks.d/restore/99-conf_custom"

Исключить файлы

Помимо двух вариантов, представленных ниже, механизм исключения определенных файлов из резервной копии YunoHost отсутствует:

Избегайте резервного копирования определённых папок /home

При необходимости можно указать, что определённые папки home пользователя не должны резервно копироваться командой yunohost backup , создав внутри них пустой файл с именем .nobackup.

Внимание: эта настройка работает только с подпапками первого уровня /home, такими как /home/user1 или /home/yunohost.multimedia. Она не работает для подпапок других уровней, например, /home/user1/bigfolder/.

Не создавайте резервные копии больших объёмов данных

Некоторые приложения, такие как Nextcloud, потенциально привязаны к большим объемам данных. Возможно, их резервное копирование по умолчанию отключено. В этом случае приложение, как правило, "резервно копирует только ядро" (приложения).
Во время обновления приложения, содержащие большой объём данных, обычно создают резервную копию, исключающую эти данные.

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

BACKUP_CORE_ONLY=1 yunohost backup create --apps nextcloud

Будьте осторожны: вам придётся самостоятельно создавать резервные копии данных пользователей Nextcloud.

Если вы хотите, чтобы это поведение стало постоянным:

yunohost app setting nextcloud do_not_backup_data -v 1