--- title: Includere o escludere files template: docs taxonomy: category: docs routes: default: '/backup/include_exclude_files' page-toc: active: true depth: 3 --- ## Includere file Nella maggior parte dei casi YunoHost conosce quali file devono fare parte del backup. Tuttavia se avete effettuato delle modifiche, ad esempio installando un programma senza avvalervi della procedura ufficiale di YunoHost, dovrete includere altri file da salvare nel vostro schema di backup. YunoHost tiene traccia delle modifiche effettuate utilizzando gli strumenti di default. Al contrario un programma o un database aggiunti manualmente e/o delle modifiche a file di configurazione, non saranno inseriti nel backup. Potete creare un hook di backup e un hook di ripristino per aggiungere i file da salvare. Esempio: /etc/yunohost/hooks.d/backup/99-conf_custom ```bash #!/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 ```bash #!/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" ``` ## Escludere file Esistono solo due metodi per escludere file dal backup di YunoHost: ### Escludere alcune cartelle presenti in `/home` Se necessario potete specificare quali cartelle nella `home` di un utente non siano da includere nel comando `yunohost backup`, creando al loro interno un file vuoto con l'estensione `.nobackup`. Attenzione: questo metodo funziona solo con la **prima sottodirectory di `/home`** ad esempio `/home/user1` o `/home/yunohost.multimedia`. Al contrario non funzionerà per altre sottodirectory come `/home/user1/miacartella`. ### Escludere grandi quantità di dati Alcuni programmi come Nextcloud sono potenzialmente accompagnati da grandi quantità di dati. In questi casi viene fatto il backup solo del programma stesso (il "core"). Generalmente negli aggiornamenti dei programmi che contengono grandi quantità di dati, questi vengono esclusi dal backup. Per disattivare temporaneamente, nei programmi che supportano tale procedura, il backup di file di grandi dimensioni potete definire la variabile `BACKUP_CORE_ONLY`. La variabile deve essere definita prima di eseguire il comando di backup: ```bash BACKUP_CORE_ONLY=1 yunohost backup create --apps nextcloud ``` Attenzione: dovrete procedere fare backup dei dati degli utenti Nextcloud separatamente. Se volete rendere permanente l'impostazione: ```bash yunohost app setting nextcloud do_not_backup_data -v 1 ```