mirror of
https://github.com/YunoHost-Apps/question2answer_ynh.git
synced 2024-09-03 20:16:07 +02:00
b5a7e543ff
because in the example, there is more than juste the cron file in the remove script
107 lines
3.7 KiB
Bash
Executable file
107 lines
3.7 KiB
Bash
Executable file
#!/bin/bash
|
|
|
|
#=================================================
|
|
# GENERIC START
|
|
#=================================================
|
|
# IMPORT GENERIC HELPERS
|
|
#=================================================
|
|
|
|
#Keep this path for calling _common.sh inside the execution's context of backup and restore scripts
|
|
source ../settings/scripts/_common.sh
|
|
source /usr/share/yunohost/helpers
|
|
|
|
#=================================================
|
|
# MANAGE SCRIPT FAILURE
|
|
#=================================================
|
|
|
|
ynh_clean_setup () {
|
|
### Remove this function if there's nothing to clean before calling the remove script.
|
|
true
|
|
}
|
|
# Exit if an error occurs during the execution of the script
|
|
ynh_abort_if_errors
|
|
|
|
#=================================================
|
|
# LOAD SETTINGS
|
|
#=================================================
|
|
ynh_print_info --message="Loading installation settings..."
|
|
|
|
app=$YNH_APP_INSTANCE_NAME
|
|
|
|
final_path=$(ynh_app_setting_get --app=$app --key=final_path)
|
|
domain=$(ynh_app_setting_get --app=$app --key=domain)
|
|
db_name=$(ynh_app_setting_get --app=$app --key=db_name)
|
|
phpversion=$(ynh_app_setting_get --app=$app --key=phpversion)
|
|
|
|
#=================================================
|
|
# DECLARE DATA AND CONF FILES TO BACKUP
|
|
#=================================================
|
|
ynh_print_info --message="Declaring files to be backed up..."
|
|
|
|
### N.B. : the following 'ynh_backup' calls are only a *declaration* of what needs
|
|
### to be backuped and not an actual copy of any file. The actual backup that
|
|
### creates and fill the archive with the files happens in the core after this
|
|
### script is called. Hence ynh_backups calls takes basically 0 seconds to run.
|
|
|
|
#=================================================
|
|
# BACKUP THE APP MAIN DIR
|
|
#=================================================
|
|
|
|
ynh_backup --src_path="$final_path"
|
|
|
|
#=================================================
|
|
# BACKUP THE NGINX CONFIGURATION
|
|
#=================================================
|
|
|
|
ynh_backup --src_path="/etc/nginx/conf.d/$domain.d/$app.conf"
|
|
|
|
#=================================================
|
|
# BACKUP THE PHP-FPM CONFIGURATION
|
|
#=================================================
|
|
|
|
ynh_backup --src_path="/etc/php/$phpversion/fpm/pool.d/$app.conf"
|
|
|
|
#=================================================
|
|
# BACKUP FAIL2BAN CONFIGURATION
|
|
#=================================================
|
|
|
|
ynh_backup --src_path="/etc/fail2ban/jail.d/$app.conf"
|
|
ynh_backup --src_path="/etc/fail2ban/filter.d/$app.conf"
|
|
|
|
#=================================================
|
|
# SPECIFIC BACKUP
|
|
#=================================================
|
|
# BACKUP LOGROTATE
|
|
#=================================================
|
|
|
|
ynh_backup --src_path="/etc/logrotate.d/$app"
|
|
|
|
#=================================================
|
|
# BACKUP SYSTEMD
|
|
#=================================================
|
|
|
|
ynh_backup --src_path="/etc/systemd/system/$app.service"
|
|
|
|
#=================================================
|
|
# BACKUP VARIOUS FILES
|
|
#=================================================
|
|
|
|
ynh_backup --src_path="/etc/cron.d/$app"
|
|
|
|
ynh_backup --src_path="/etc/$app/"
|
|
|
|
#=================================================
|
|
# BACKUP THE MYSQL DATABASE
|
|
#=================================================
|
|
ynh_print_info --message="Backing up the MySQL database..."
|
|
|
|
### (However, things like mysql dumps *do* take some time to run, though the
|
|
### copy of the generated dump to the archive still happens later)
|
|
|
|
ynh_mysql_dump_db --database="$db_name" > db.sql
|
|
|
|
#=================================================
|
|
# END OF SCRIPT
|
|
#=================================================
|
|
|
|
ynh_print_info --message="Backup script completed for $app. (YunoHost will then actually copy those files to the archive)."
|