diff --git a/ct/discopanel.sh b/ct/discopanel.sh index aa0c5fb09..2adfe85f0 100644 --- a/ct/discopanel.sh +++ b/ct/discopanel.sh @@ -37,8 +37,12 @@ function update_script() { msg_ok "Stopped Service" msg_info "Creating Backup" - if [[ -d /opt/discopanel/data ]]; then - cp -r /opt/discopanel/data /opt/discopanel_backup_last + mkdir -p /opt/discopanel_backup_temp + cp -r /opt/discopanel/data/discopanel.db \ + /opt/discopanel/data/.recovery_key \ + /opt/discopanel_backup_temp/ + if [[ -d /opt/discopanel/data/servers ]]; then + cp -r /opt/discopanel/data/servers /opt/discopanel_backup_temp/ fi msg_ok "Created Backup" @@ -53,11 +57,9 @@ function update_script() { msg_ok "Setup DiscoPanel" msg_info "Restoring Data" - if [[ -d /opt/discopanel_backup_last ]]; then - mkdir -p /opt/discopanel/data - cp -r /opt/discopanel_backup_last/* /opt/discopanel/data/ - rm -rf /opt/discopanel_backup_last - fi + mkdir -p /opt/discopanel/data + cp -a /opt/discopanel_backup_temp/. /opt/discopanel/data/ + rm -rf /opt/discopanel_backup_temp msg_ok "Restored Data" msg_info "Starting Service"