From eadd03decc4c7bdb92e898bf57fdcbe64c23b2b2 Mon Sep 17 00:00:00 2001 From: whitestar Date: Tue, 11 Jan 2022 20:13:14 +0900 Subject: [PATCH] improve the backup and restore scripts. --- cookbooks/bubbleupnp-server/CHANGELOG.md | 4 ++++ .../docker-compose/app/bubbleupnp-server/backup.sh | 22 +++++++++++++++++----- .../app/bubbleupnp-server/restore.sh | 16 ++++++++++------ cookbooks/bubbleupnp-server/version | 2 +- 4 files changed, 32 insertions(+), 12 deletions(-) diff --git a/cookbooks/bubbleupnp-server/CHANGELOG.md b/cookbooks/bubbleupnp-server/CHANGELOG.md index e09da87..484115e 100644 --- a/cookbooks/bubbleupnp-server/CHANGELOG.md +++ b/cookbooks/bubbleupnp-server/CHANGELOG.md @@ -1,5 +1,9 @@ # bubbleupnp-server CHANGELOG +0.2.4 +----- +- improve the backup and restore scripts. + 0.2.3 ----- - add backup cron configuration. diff --git a/cookbooks/bubbleupnp-server/templates/default/opt/docker-compose/app/bubbleupnp-server/backup.sh b/cookbooks/bubbleupnp-server/templates/default/opt/docker-compose/app/bubbleupnp-server/backup.sh index 44eee28..878bb29 100755 --- a/cookbooks/bubbleupnp-server/templates/default/opt/docker-compose/app/bubbleupnp-server/backup.sh +++ b/cookbooks/bubbleupnp-server/templates/default/opt/docker-compose/app/bubbleupnp-server/backup.sh @@ -1,9 +1,21 @@ #!/bin/sh +set -e + +backup_dir=./bak +backup_tmp_dir=${backup_dir}.tmp +workdir=<%= @workdir %> + +echo 'Configurations backup started.' +sudo rm -rf ${backup_tmp_dir} +sudo mkdir -p ${backup_tmp_dir} -backup_dir=bak container_id=`sudo docker-compose ps -q bubbleupnp-server` +sudo docker cp ${container_id}:${workdir}/configuration.xml ${backup_tmp_dir} +sudo docker cp ${container_id}:${workdir}/cache ${backup_tmp_dir} +sudo docker cp ${container_id}:${workdir}/Playlists ${backup_tmp_dir} -sudo mkdir -p ./${backup_dir} -sudo docker cp ${container_id}:<%= @workdir %>/configuration.xml ./${backup_dir} -sudo docker cp ${container_id}:<%= @workdir %>/cache ./${backup_dir} -sudo docker cp ${container_id}:<%= @workdir %>/Playlists ./${backup_dir} +if cat ${backup_tmp_dir}/configuration.xml | grep '' | grep false > /dev/null 2>&1; then + sudo rm -rf $backup_dir + sudo mv $backup_tmp_dir $backup_dir +fi +echo 'Configurations backup done.' diff --git a/cookbooks/bubbleupnp-server/templates/default/opt/docker-compose/app/bubbleupnp-server/restore.sh b/cookbooks/bubbleupnp-server/templates/default/opt/docker-compose/app/bubbleupnp-server/restore.sh index 74351c6..254e4b7 100755 --- a/cookbooks/bubbleupnp-server/templates/default/opt/docker-compose/app/bubbleupnp-server/restore.sh +++ b/cookbooks/bubbleupnp-server/templates/default/opt/docker-compose/app/bubbleupnp-server/restore.sh @@ -1,12 +1,16 @@ #!/bin/bash +set -e -backup_dir=bak -container_id=`sudo docker-compose ps -q bubbleupnp-server` +backup_dir=./bak +workdir=<%= @workdir %> +echo 'Configurations restore started.' +container_id=`sudo docker-compose ps -q bubbleupnp-server` # Note: `docker cp` chown root:root -sudo docker cp ./${backup_dir}/configuration.xml ${container_id}:<%= @workdir %>/ -sudo docker cp ./${backup_dir}/cache ${container_id}:<%= @workdir %>/ -sudo docker cp ./${backup_dir}/Playlists ${container_id}:<%= @workdir %>/ +sudo docker cp ${backup_dir}/configuration.xml ${container_id}:${workdir}/ +sudo docker cp ${backup_dir}/cache ${container_id}:${workdir}/ +sudo docker cp ${backup_dir}/Playlists ${container_id}:${workdir}/ # fix file owner -sudo docker exec -u root ${container_id} chown -R <%= @file_owner %>:<%= @file_group %> <%= @workdir %>/{configuration.xml,cache,Playlists} +sudo docker exec -u root ${container_id} chown -R bubbleupnpserver:users ${workdir}/{configuration.xml,cache,Playlists} +echo 'Configurations restore done.' \ No newline at end of file diff --git a/cookbooks/bubbleupnp-server/version b/cookbooks/bubbleupnp-server/version index 7179039..abd4105 100644 --- a/cookbooks/bubbleupnp-server/version +++ b/cookbooks/bubbleupnp-server/version @@ -1 +1 @@ -0.2.3 +0.2.4 -- 2.11.0