From e5b722e7e51d6876973f00edec538762802b0720 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Josu=C3=A9=20Tille?= Date: Sun, 29 Nov 2020 17:29:51 +0100 Subject: [PATCH] Add backup core only feature --- README.md | 24 ++++++++++++++++++++++++ scripts/backup | 6 +++++- scripts/remove | 4 ++-- 3 files changed, 31 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 8301328..1cfa695 100644 --- a/README.md +++ b/README.md @@ -101,6 +101,30 @@ From command line: `sudo yunohost app upgrade seafile -u https://github.com/YunoHost-Apps/seafile_ynh` +Backup +------ + +This app use now the core-only feature of the backup. To keep the integrity of the data and to have a better guarantee of the restoration is recommended to proceed like this: + +- Stop seafile service with theses following command: +``` +systemctl stop seafile.service seahub.service +``` +- Launch the backup of seafile with this following command: +``` +yunohost backup create --app seafile +``` +- Do a backup of your data with your specific strategy (could be with rsync, borg backup or just cp). +- Restart the seafile service with theses command: +``` +systemctl start seafile.service seahub.service +``` + +Remove +------ + +Due of the backup core only feature the data directory in `/home/yunohost.app/seafile-data` **is not removed**. It need to be removed manually to purge app user data. + Developers infos ---------------- diff --git a/scripts/backup b/scripts/backup index 6357471..8230271 100644 --- a/scripts/backup +++ b/scripts/backup @@ -22,6 +22,10 @@ db_pwd=$(ynh_app_setting_get --app $app --key mysqlpwd) final_path=$(ynh_app_setting_get --app $app --key final_path) seafile_user=$app +if [ ! "$(systemctl status seafile)" =~ "Active: stoped" ] || [ ! "$(systemctl status seahub)" =~ "Active: stoped" ]; then + ynh_print_warn --message="It's hightly recommended to make your backup when the service is stoped. Please seafile service and seahub service with this command before to run the backup 'systemctl stop seafile.service seahub.service'" +fi + #================================================= # STANDARD BACKUP STEPS #================================================= @@ -30,7 +34,7 @@ seafile_user=$app ynh_script_progression --message="Backing up code..." --weight=3 ynh_backup --src_path $final_path ynh_script_progression --message="Backing up user data..." --weight=10 -ynh_backup --src_path /home/yunohost.app/seafile-data --dest_path "data" +ynh_backup --src_path /home/yunohost.app/seafile-data --dest_path "data" --is_big 1 ynh_script_progression --message="Backing up configuration..." ynh_backup --src_path /etc/nginx/conf.d/$domain.d/${app}.conf ynh_backup --src_path /etc/systemd/system/seafile.service diff --git a/scripts/remove b/scripts/remove index 9ec4ae7..84e632b 100644 --- a/scripts/remove +++ b/scripts/remove @@ -44,8 +44,6 @@ ynh_secure_remove --file=/var/log/seafile ynh_script_progression --message="Removing code..." ynh_secure_remove --file=/var/www/$app ynh_secure_remove --file=/opt/yunohost/$app -ynh_script_progression --message="Removing user data..." -ynh_secure_remove --file=/home/yunohost.app/seafile-data ynh_secure_remove --file=/tmp/seahub_cache # Remove databases @@ -82,4 +80,6 @@ ynh_script_progression --message="Removing seafile service..." yunohost service remove seafile yunohost service remove seahub +ynh_print_info --message="Due of the backup core only feature the data directory in '/home/yunohost.app/seafile-data' was not removed. It need to be removed manually to purge app user data." + ynh_script_progression --message="Removal of $app completed" --last