From 6bc8691d4de9e68ce648e2547b041f477ff3dd75 Mon Sep 17 00:00:00 2001 From: Julien VAUBOURG Date: Sat, 25 Jul 2015 16:33:57 +0200 Subject: [PATCH] Add backup/restore scripts --- scripts/backup | 10 ++++++++++ scripts/install | 8 ++++++-- scripts/restore | 20 ++++++++++++++++++++ scripts/upgrade | 2 +- 4 files changed, 37 insertions(+), 3 deletions(-) create mode 100644 scripts/backup create mode 100644 scripts/restore diff --git a/scripts/backup b/scripts/backup new file mode 100644 index 0000000..5ae12ea --- /dev/null +++ b/scripts/backup @@ -0,0 +1,10 @@ +#!/bin/bash + +# The parameter $1 is the backup directory location +# which will be compressed afterward +backup_dir="${1}/apps/vpnclient" +mkdir -p "${backup_dir}/" + +sudo cp -a /etc/openvpn/keys/ "${backup_dir}/" + +exit 0 diff --git a/scripts/install b/scripts/install index bb4c221..971a852 100644 --- a/scripts/install +++ b/scripts/install @@ -18,7 +18,7 @@ # along with this program. If not, see . # This is an upgrade? -upgrade=$([ "$VPNCLIENT_UPGRADE" == 1 ] && echo true || echo false) +upgrade=$([ "${VPNCLIENT_UPGRADE}" == 1 ] && echo true || echo false) # Retrieve arguments domain=${1} @@ -55,7 +55,7 @@ fi if ! $upgrade; then # Save arguments - sudo yunohost app setting vpnclient service_enabled -v 1 + sudo yunohost app setting vpnclient service_enabled -v 0 sudo yunohost app setting vpnclient server_name -v "${server_name}" sudo yunohost app setting vpnclient server_port -v 1194 sudo yunohost app setting vpnclient server_proto -v udp @@ -66,6 +66,10 @@ if ! $upgrade; then fi +# Save git commit +gitcommit=$(git rev-parse HEAD) +sudo yunohost app setting vpnclient gitcommit -v "${gitcommit}" + # Install IPv6 scripts sudo install -o root -g root -m 0755 ../conf/ipv6_expanded /usr/local/bin/ sudo install -o root -g root -m 0755 ../conf/ipv6_compressed /usr/local/bin/ diff --git a/scripts/restore b/scripts/restore new file mode 100644 index 0000000..978f403 --- /dev/null +++ b/scripts/restore @@ -0,0 +1,20 @@ +#!/bin/bash + +# The parameter $1 is the uncompressed restore directory location +backup_dir="${1}/apps/vpnclient" + +mkdir -p /etc/openvpn/ +cp -a "${backup_dir}/keys/" /etc/openvpn/ + +gitcommit=$(sudo yunohost app setting vpnclient gitcommit) +tmpdir=$(mktemp -dp /tmp/ vpnclient-restore-XXXXX) + +git clone https://github.com/labriqueinternet/vpnclient_ynh.git "${tmpdir}/" +git --work-tree "${tmpdir}/" --git-dir "${tmpdir}/.git/" reset --hard "${gitcommit}" + +cd "${tmpdir}/scripts/" +./upgrade + +sudo rm -r "${tmpdir}/" + +exit 0 diff --git a/scripts/upgrade b/scripts/upgrade index 055ca7a..d2f7b2b 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -15,7 +15,7 @@ tmpdir=$(mktemp -dp /tmp/ vpnclient-upgrade-XXXXX) sudo cp -a /etc/openvpn/keys/ "${tmpdir}/" export VPNCLIENT_UPGRADE=1 -sudo bash /etc/yunohost/apps/vpnclient/scripts/remove +sudo bash /etc/yunohost/apps/vpnclient/scripts/remove &> /dev/null bash ./install "${domain}" "${path}" "${server_name}" sudo cp -a "${tmpdir}/keys/"* /etc/openvpn/keys/ 2> /dev/null