backup 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. #!/bin/bash
  2. #=================================================
  3. # GENERIC START
  4. #=================================================
  5. # IMPORT GENERIC HELPERS
  6. #=================================================
  7. # Keep this path for calling _common.sh inside the execution's context of backup and restore scripts
  8. source ../settings/scripts/_common.sh
  9. source /usr/share/yunohost/helpers
  10. #=================================================
  11. # MANAGE SCRIPT FAILURE
  12. #=================================================
  13. # Exit if an error occurs during the execution of the script
  14. ynh_abort_if_errors
  15. #=================================================
  16. # LOAD SETTINGS
  17. #=================================================
  18. ynh_print_info --message="Loading installation settings..."
  19. app=$YNH_APP_INSTANCE_NAME
  20. final_path=$(ynh_app_setting_get --app=$app --key=final_path)
  21. path_url=$(ynh_app_setting_get --app=$app --key=path)
  22. domain=$(ynh_app_setting_get --app=$app --key=domain)
  23. # Get variable from ynh_add_fpm_config
  24. fpm_config_dir=$(ynh_app_setting_get --app=$app --key=fpm_config_dir)
  25. #=================================================
  26. # DECLARE DATA AND CONF FILES TO BACKUP
  27. #=================================================
  28. ynh_print_info --message="Declaring files to be backed up..."
  29. #=================================================
  30. # BACKUP THE APP MAIN DIRECTORIES
  31. #=================================================
  32. ynh_backup --src_path="$final_path"
  33. ynh_backup --src_path="/etc/.pihole"
  34. ynh_backup --src_path="/etc/pihole"
  35. ynh_backup --src_path="/opt/pihole"
  36. #=================================================
  37. # BACKUP THE NGINX CONFIGURATION
  38. #=================================================
  39. ynh_backup --src_path="/etc/nginx/conf.d/$domain.d/$app.conf"
  40. #=================================================
  41. # BACKUP THE PHP-FPM CONFIGURATION
  42. #=================================================
  43. ynh_backup --src_path="$fpm_config_dir/php-fpm-$app.conf"
  44. ynh_backup --src_path="$fpm_config_dir/pool.d/$app.conf"
  45. #=================================================
  46. # SPECIFIC BACKUP
  47. #=================================================
  48. # BACKUP VARIOUS FILES
  49. #=================================================
  50. ynh_backup --src_path="/etc/cron.d/pihole"
  51. ynh_backup --src_path="/usr/local/bin/pihole"
  52. ynh_backup --src_path="/etc/bash_completion.d/pihole"
  53. ynh_backup --src_path="/etc/sudoers.d/pihole"
  54. ynh_backup --src_path="/etc/init.d/pihole-FTL"
  55. ynh_backup --src_path="/usr/bin/pihole-FTL"
  56. if test -e "/etc/dnsmasq.d/03-pihole-wildcard.conf"; then
  57. ynh_backup --src_path="/etc/dnsmasq.d/03-pihole-wildcard.conf"
  58. fi
  59. ynh_backup --src_path="/usr/share/yunohost/hooks/conf_regen/50-dnsmasq_$app"
  60. #=================================================
  61. # END OF SCRIPT
  62. #=================================================
  63. ynh_print_info --message="Backup script completed for $app. (YunoHost will then actually copy those files to the archive)."