From 8096af7ad02ab33a626614205c40acf2538ed607 Mon Sep 17 00:00:00 2001 From: 4s3ti <4s3ti@protonmail.com> Date: Wed, 8 Jan 2020 19:37:46 +0100 Subject: [PATCH] Updates and improvements install.sh installScripts function: update script not being copied over to /opt therefore update funcion was probably broken. changed script to copy all .sh scripts from .pivpn/scripts directory. Issue #871: fix backup script I was probably very drunk when i first wrote this backup script. fixed it, now works with new code refactoring, loads vars from setupVars Added backup for wireguard Moved script to global pivpnscripts. Added backup script to bash-completion Added backup script to pivpn script update.sh Commented the update from master branch to avoid users trying to update test from master. Updated LatestChages.md --- scripts/backup.sh | 52 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100755 scripts/backup.sh diff --git a/scripts/backup.sh b/scripts/backup.sh new file mode 100755 index 0000000..a8e6a1d --- /dev/null +++ b/scripts/backup.sh @@ -0,0 +1,52 @@ +#!/bin/bash +# shellcheck disable=SC1091 +source /etc/pivpn/setupVars.conf +# shellcheck disable=SC1090 +backupdir=pivpnbackup +date=$(date +%Y%m%d-%H%M%S) + +checkbackupdir(){ + + if [[ ! -d $install_home/$backupdir ]]; then + mkdir -p "$install_home"/"$backupdir" + fi + +} + +backup_openvpn(){ + + openvpndir=/etc/openvpn + ovpnsdir=${install_home}/ovpns + checkbackupdir + backupzip=$date-pivpnovpnbackup.tgz + # shellcheck disable=SC2210 + tar czpf "$install_home"/"$backupdir"/"$backupzip" "$openvpndir" "$ovpnsdir" > /dev/null 2>&1 + echo -e "Backup crated to $install_home/$backupdir/$backupzip \nTo restore the backup, follow instructions at:\nhttps://github.com/pivpn/pivpn/wiki/FAQ#how-can-i-migrate-my-configs-to-another-pivpn-instance" + +} + +backup_wireguard(){ + + wireguarddir=/etc/wireguard + configsdir=${install_home}/configs + checkbackupdir + backupzip=$date-pivpnwgbackup.tgz + tar czpf "$install_home"/"$backupdir"/"$backupzip" "$wireguarddir" "$configsdir" > /dev/null 2>&1 + echo -e "Backup crated to $install_home/$backupdir/$backupzip \nTo restore the backup, follow instructions at:\nhttps://github.com/pivpn/pivpn/wiki/FAQ#how-can-i-migrate-my-configs-to-another-pivpn-instance" + +} + +if [[ ! $EUID -eq 0 ]];then + if [[ $(dpkg-query -s sudo) ]];then + export SUDO="sudo" + else + echo "::: Please install sudo or run this as root." + exit 0 + fi +fi + +if [[ "${VPN}" == "wireguard" ]]; then + backup_wireguard +else + backup_openvpn +fi