From 2a0b340925f5603d938782c9b7cd0687d66e7b5e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20Lindh=C3=A9?= Date: Mon, 31 Jul 2023 13:21:33 +0200 Subject: [PATCH] Update backup.sh --- backup/rsync_ssh/src/backup.sh | 34 ++++++++++++++++++++++++++++++---- 1 file changed, 30 insertions(+), 4 deletions(-) diff --git a/backup/rsync_ssh/src/backup.sh b/backup/rsync_ssh/src/backup.sh index 9786de8..8d5c0e6 100755 --- a/backup/rsync_ssh/src/backup.sh +++ b/backup/rsync_ssh/src/backup.sh @@ -18,6 +18,33 @@ if [[ "${#}" -lt 2 ]]; then exit fi +stderr() { + echo "${@}" 1>&2 +} + +fail() { + stderr "${1}" + stderr "" + stderr "Exiting …" + exit "${2:-1}" +} + +missing_dependencies=false +declare -r dependencies=( + logger + nmcli + notify-send + rsync +) +for dep in "${dependencies[@]}"; do + if ! command -v "${dep}" &> /dev/null; then + stderr "❌ ERROR: Missing dependency ${dep}" + missing_dependencies=true + fi +done +if ${missing_dependencies}; then + fail 'Please install the missing dependencies!' +fi if [[ "${VERBOSE:-0}" == 2 ]]; then set -x fi @@ -76,7 +103,7 @@ declare -r RSYNC_CMD ############################## functions ##############################{{{ # print to both stdout and log -logprint () { +logprint() { if [[ -n ${VERBOSE+x} ]]; then echo "${LOG_PREFIX} ${1}" fi @@ -87,8 +114,8 @@ logprint () { } # print to both stderr and log -logprint_err () { - echo "${LOG_PREFIX} ${1}" 1>&2 +logprint_err() { + stderr "${LOG_PREFIX} ${1}" logger -p syslog.err "${LOG_PREFIX} ${1}" if (command -v notify-send &> /dev/null); then notify-send --urgency=critical "${LOG_PREFIX} ${1}\n\nPlease check journalctl for more info." @@ -157,4 +184,3 @@ else exit 1 fi #}}} -