Aller au contenu principal

Inclure/exclure des fichiers

Inclure des fichiers​

YunoHost sait en gĂ©nĂ©ral dĂ©jĂ  ce qui doit ĂȘtre sauvegardĂ©. Toutefois, si vous avez procĂ©dĂ© Ă  des modifications manuelles, par exemple en installant une app en dehors du systĂšme d'applications de YunoHost, vous pouvez avoir envie d'Ă©tendre le mĂ©canisme de YunoHost pour spĂ©cifier d'autres fichiers Ă  sauvegarder.

Par défaut, si des configurations suivies par YunoHost sont modifiées, elles seront sauvegardées. En revanche, une base de données ou une app ajoutée à la main, des modifs sur certaines configurations non suivies, ne le seront pas.

Vous pouvez créer un hook de sauvegarde et un hook de restauration pour ajouter des données à sauvegarder. Ci-dessous un exemple:

/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" # Cette variable est importante pour le helper suivant
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" # Cette variable est importante pour le helper suivant
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"

Exclure des fichiers​

Il n'existe pas de mécanisme pour exclure d'une sauvegarde au format YunoHost des fichiers spécifiques, en dehors des 2 options présentées ci-dessous:

Éviter de sauvegarder certains dossiers du /home​

Si besoin, vous pouvez spécifier que certains dossiers home d'utilisateurs ou utilisatrices ne soient pas sauvegardés par la commande yunohost backup, en créant un fichier vide nommé .nobackup à l'intérieur.

Attention ce mécanisme ne fonctionne que pour les sous-dossiers de premier niveau du /home, comme par exemple /home/user1 ou /home/yunohost.multimedia . Cela ne fonctionne pas pour les autres dossiers ou sous-dossiers, comme par exemple /home/user1/grosdossier.

Ne pas sauvegarder les grosses quantitĂ©s de donnĂ©es​

Certaines apps comme Nextcloud sont potentiellement rattachées à des quantités importantes de données. Il est possible de ne pas les sauvegarder par défaut. Dans ce cas, on dit que l'app "sauvegarde uniquement le core" (de l'app).
Lors d'une mise à jour, les apps contenant une grande quantité de données effectuent généralement une sauvegarde sans ces données.

Pour dĂ©sactiver temporairement la sauvegarde des donnĂ©es volumineuses, pour les applications qui implĂ©mentent cette fonctionnalitĂ©, vous pouvez dĂ©finir la variable BACKUP_CORE_ONLY. Pour ce faire, la variable doit ĂȘtre dĂ©finie avant la commande de backup :

BACKUP_CORE_ONLY=1 yunohost backup create --apps nextcloud

Faites montre de prudence : il vous faudra alors sauvegarder vous-mĂȘme les donnĂ©es des utilisateurs et utilisatrices de Nextcloud.

Si vous souhaitez que ce comportement soit permanent:

yunohost app setting nextcloud do_not_backup_data -v 1