1
0
Fork 0
mirror of https://github.com/YunoHost-Apps/bozon_ynh.git synced 2024-09-03 18:16:09 +02:00
bozon_ynh/scripts/restore

67 lines
1.8 KiB
Bash

#!/bin/bash
# to test the functionnality :
# yunohost backup create -n "bozon-test" --ignore-system --apps bozon
# yunohost app remove bozon
# yunohost backup restore "bozon-test"
if [ ! -e _common.sh ]; then
# Fetch helpers file if not in current directory
sudo cp ../settings/scripts/_common.sh ./_common.sh
sudo chmod a+rx _common.sh
fi
source _common.sh
source /usr/share/yunohost/helpers
# manage script failure
ynh_abort_if_errors
# retrieve arguments
app=$YNH_APP_INSTANCE_NAME
domain=$(ynh_app_setting_get "$app" domain)
path_url=$(ynh_app_setting_get "$app" path)
backup_core_only=$(ynh_app_setting_get "$app" backup_core_only)
# definie useful vars
final_path="/var/www/$app"
data_path="/home/yunohost.app/$app"
nginx_conf="/etc/nginx/conf.d/$domain.d/$app.conf"
phpfpm_conf="/etc/php5/fpm/pool.d/$app}.conf"
# check domain/path availability
ynh_webpath_available "$domain" "$path_url"
ynh_webpath_register "$app" "$domain" "$path_url"
myynh_check_path "$final_path"
# add required packages
ynh_install_app_dependencies "$PKG_DEPENDENCIES"
# create a dedicated system user
ynh_system_user_create "$app"
# restore sconf files
ynh_restore_file "$nginx_conf"
ynh_restore_file "$phpfpm_conf"
# restore source & their permissions
ynh_restore_file "$final_path"
sudo chown -R "$app": "$final_path"
sudo chmod 755 "$final_path"
# restore data & their permissions only if there is no data
if [ ! -d "$data_path" ]; then
if [ $backup_core_only -eq 0 ]; then
ynh_restore_file "$data_path"
sudo chown -R "$app": "$data_path"
else
myynh_create_dir "$data_path/uploads"
sudo chown -R "$app": "$data_path/uploads"
myynh_create_dir "$data_path/thumbs"
sudo chown -R "$app": "$data_path/thumbs"
fi
else
echo "$data_path already exists and will not be overwritten" >&2
fi
# restart services
sudo systemctl reload php5-fpm
sudo systemctl reload nginx