1
0
Fork 0
mirror of https://github.com/YunoHost-Apps/phpmyadmin_ynh.git synced 2024-09-03 19:56:46 +02:00

Initial backup and restore scripts

This commit is contained in:
polytan02 2017-02-15 00:00:22 +00:00
parent d6e864028c
commit 40bc57e8ce
2 changed files with 76 additions and 0 deletions

30
scripts/backup Normal file
View file

@ -0,0 +1,30 @@
#!/bin/bash
# Source app helpers
source /usr/share/yunohost/helpers
# Récupère les infos de l'application.
app=$YNH_APP_INSTANCE_NAME
final_path=$(ynh_app_setting_get $app final_path)
domain=$(ynh_app_setting_get $app domain)
db_user=$(ynh_app_setting_get $app db_user)
# The parameter $1 is the backup directory location
# which will be compressed afterward
backup_dir=$1/apps/$app
sudo mkdir -p "$backup_dir"
# Backup sources & data
sudo cp -a $final_path/. $backup_dir/sources
# Copy Nginx and YunoHost parameters to make the script "standalone"
sudo cp -a /etc/yunohost/apps/$app/. $backup_dir/yunohost
sudo cp -a /etc/nginx/conf.d/$domain.d/$app.conf $backup_dir/nginx.conf
# Copy dedicated php-fpm process to backup folder
sudo cp -a /etc/php5/fpm/pool.d/$app.conf $backup_dir/php-fpm.conf
# Backup db
root_pwd=$(sudo cat /etc/yunohost/mysql)
sudo mysqldump -u root -p$root_pwd --no-create-db $db_user --result-file="$backup_dir/db.sql"

46
scripts/restore Normal file
View file

@ -0,0 +1,46 @@
#!/bin/bash
# Source app helpers
source /usr/share/yunohost/helpers
# Récupère les infos de l'application.
app=$YNH_APP_INSTANCE_NAME
domain=$(ynh_app_setting_get $app domain)
path=$(ynh_app_setting_get $app path)
final_path=$(ynh_app_setting_get $app final_path)
db_user=$(ynh_app_setting_get $app db_user)
db_pwd=$(ynh_app_setting_get $app db_pwd)
if [ -d $final_path ]; then
echo "There is already a directory: $final_path " >&2
exit 1
fi
# The parameter $1 is the uncompressed restore directory location
backup_dir=$1/apps/$app
# Restore Nginx
conf=/etc/nginx/conf.d/$domain.d/$app.conf
if [ -f $conf ]; then
echo "There is already a nginx conf file at this path: $conf " >&2
exit 1
fi
sudo cp -a $backup_dir/nginx.conf $conf
# Restore YunoHost parameters
sudo cp -a $backup_dir/yunohost/. /etc/yunohost/apps/$app
# Restore sources & data
sudo cp -a "$backup_dir/sources/." $final_path
ynh_mysql_create_db $db_user $db_user $db_pwd
mysql --debug-check -u $db_user -p$db_pwd $db_user < ${backup_dir}/db.sql
# Copy dedicated php-fpm process from backup folder to the right location
sudo cp -a $backup_dir/php-fpm.conf /etc/php5/fpm/pool.d/$app.conf
# And Reload services
sudo service php5-fpm reload
sudo service nginx reload