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

65 lines
1.9 KiB
Text
Raw Normal View History

2016-04-07 00:00:41 +02:00
#!/bin/bash
# Récupère les infos de l'application.
2016-11-08 13:38:29 +01:00
app=$YNH_APP_INSTANCE_NAME
2016-12-14 16:13:20 +01:00
# Source app helpers
source /usr/share/yunohost/helpers
final_path=$(ynh_app_setting_get $app final_path)
domain=$(ynh_app_setting_get $app domain)
infcloud=$(ynh_app_setting_get $app infcloud)
2016-04-07 00:00:41 +02:00
# The parameter $1 is the uncompressed restore directory location
backup_dir=$1/apps/$app
# Restore sources & data
sudo cp -a $backup_dir/sources/. $final_path
# Restore Nginx and YunoHost parameters
sudo cp -a $backup_dir/yunohost/. /etc/yunohost/apps/$app
sudo cp -a $backup_dir/nginx.conf /etc/nginx/conf.d/$domain.d/$app.conf
2016-12-14 16:13:20 +01:00
# Check depends installation
sudo apt-get install -y python-pip python-virtualenv python-dev libldap2-dev libsasl2-dev libssl-dev uwsgi uwsgi-plugin-python
2016-04-07 00:00:41 +02:00
2016-08-05 17:00:50 +02:00
# Restore virtualenv
2016-12-14 16:13:20 +01:00
sudo mkdir -p /opt/yunohost/$app
sudo cp -a $backup_dir/virtualenv/. /opt/yunohost/$app/
2016-08-05 17:00:50 +02:00
# Set permissions to radicale directory
2016-12-14 16:13:20 +01:00
if ! ynh_system_user_exists "radicale"
2016-08-05 17:00:50 +02:00
then # Si il n'existe pas, l'user radicale est créé
sudo useradd radicale -d /opt/yunohost/$app
fi
sudo chown radicale: -R /opt/yunohost/$app
2016-12-14 16:13:20 +01:00
sudo chown -R radicale: $final_path
sudo mkdir -p /var/log/$app
sudo touch /var/log/$app/$app.log
sudo chown radicale -R /var/log/$app
# Restore radicale configuration
sudo cp -a $backup_dir/etc/. /etc/$app
2016-08-05 17:00:50 +02:00
# Restore uwsgi config
sudo cp -a $backup_dir/uwsgi_conf /etc/uwsgi/apps-available/radicale.ini
sudo ln -s /etc/uwsgi/apps-available/radicale.ini /etc/uwsgi/apps-enabled/
2016-04-07 00:00:41 +02:00
# Copy dedicated php-fpm process to backup folder
if [ "$infcloud" = "1" ]
then
2016-08-05 17:00:50 +02:00
sudo cp -a $backup_dir/php-fpm.conf /etc/php5/fpm/pool.d/$app.conf
sudo cp -a $backup_dir/php-fpm.ini /etc/php5/fpm/conf.d/20-$app.ini
2016-04-07 00:00:41 +02:00
sudo service php5-fpm reload
fi
# Restaure la configuration de logrotate
sudo cp -a $backup_dir/logrotate /etc/logrotate.d/$app
# Restart webserver
sudo service nginx reload
# Restart uwsgi
sudo service uwsgi restart