2016-04-07 00:00:41 +02:00
|
|
|
#!/bin/bash
|
|
|
|
|
|
|
|
# Récupère les infos de l'application.
|
2016-08-05 17:00:50 +02:00
|
|
|
ynh_version=$(sudo yunohost -v | grep "moulinette:" | cut -d' ' -f2 | cut -d'.' -f1,2) # Récupère le numéro de version de Yunohost.
|
2016-05-20 00:03:02 +02:00
|
|
|
if [ $ynh_version = "2.4" ]; then
|
|
|
|
app=$YNH_APP_INSTANCE_NAME
|
|
|
|
else
|
|
|
|
app=radicale
|
|
|
|
fi
|
2016-04-07 00:00:41 +02:00
|
|
|
final_path=$(sudo yunohost app setting $app final_path)
|
|
|
|
domain=$(sudo yunohost app setting $app domain)
|
|
|
|
infcloud=$(sudo yunohost app setting $app infcloud)
|
|
|
|
|
|
|
|
# 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
|
|
|
|
|
|
|
|
# Restore radicale configuration
|
|
|
|
sudo cp -a $backup_dir/etc/. /etc/$app
|
|
|
|
|
2016-08-05 17:00:50 +02:00
|
|
|
# Restore virtualenv
|
|
|
|
sudo cp -a $backup_dir/virtualenv/. /opt/yunohost/$app
|
|
|
|
|
|
|
|
# Set permissions to radicale directory
|
|
|
|
if ! grep -q "^radicale:" /etc/passwd # Test l'existence de l'utilisateur
|
|
|
|
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
|
|
|
|
|
|
|
|
# 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
|