diff --git a/scripts/restore b/scripts/restore index 8bf6148..1c8b9b7 100644 --- a/scripts/restore +++ b/scripts/restore @@ -4,9 +4,6 @@ # Exit on command errors and treat unset variables as an error set -eu -# The parameter $1 is the backup directory location dedicated to the app -backup_dir=$1 - # The parameter $2 is the id of the app instance ex: ynhexample__2 app=$YNH_APP_INSTANCE_NAME @@ -16,30 +13,47 @@ source /usr/share/yunohost/helpers # Get old parameter of the app domain=$(ynh_app_setting_get $app domain) path=$(ynh_app_setting_get $app path) -final_path=$(ynh_app_setting_get $app final_path) +is_public=$(ynh_app_setting_get $app is_public) +# Check domain/path availability +sudo yunohost app checkurl "${domain}${path}" -a "$app" \ + || ynh_die "Path not available: ${domain}${path}" + +# Check $final_path +final_path="/var/www/${app}" if [ -d $final_path ]; then - ynh_die "There is already a directory: $final_path" + ynh_die "There is already a directory: $final_path" fi -conf=/etc/nginx/conf.d/$domain.d/$app.conf -if [ -f $conf ]; then - ynh_die "There is already a nginx conf file at this path: $conf" +# Check configuration files nginx +nginx_conf="/etc/nginx/conf.d/${domain}.d/${app}.conf" +if [ -f $nginx_conf ]; then + ynh_die "The NGINX configuration already exists at '${nginx_conf}'. You should safely delete it before restoring this app." + +# Check configuration files php-fpm +phpfpm_conf="/etc/php5/fpm/pool.d/${app}.conf" +if [ -f $phpfpm_conf ]; then + ynh_die "The PHP FPM configuration already exists at '${phpfpm_conf}'. You should safely delete it before restoring this app." fi -# Restore conf files -sudo cp -a "${backup_dir}/conf/nginx.conf" $conf -# Reload Nginx -sudo service nginx reload +phpfpm_ini="/etc/php5/fpm/conf.d/20-${app}.ini" +if [ -f $phpfpm_ini ]; then + ynh_die "The PHP FPM INI configuration already exists at '${phpfpm_ini}'. You should safely delete it before restoring this app." +fi -sudo cp -a "${backup_dir}/var/www/$app" $final_path -sudo cp -a "${backup_dir}/var/lib/$app" "/var/lib/$app" +# Restore sources & data +sudo cp -a ./sources "$final_path" # Set permissions sudo chown -R www-data: $final_path +# Restore nginx configuration files +sudo cp -a ./nginx.conf "$nginx_conf" + # Restart service and add service into YunoHost sudo service mopidy restart sudo yunohost service add mopidy --log "/var/log/mopidy/mopidy.log" -sudo yunohost app ssowatconf +# Reload services +sudo service php5-fpm reload || true +sudo service nginx reload || true \ No newline at end of file