From 8cfce475e9942780134621bd17aa3915376a878a Mon Sep 17 00:00:00 2001 From: Tobias Strobel Date: Thu, 30 Sep 2021 10:12:17 +0200 Subject: [PATCH] ShellCheck Lint on external-backup.sh --- helios/external-backup.sh | 46 +++++++++++++++++++-------------------- 1 file changed, 22 insertions(+), 24 deletions(-) diff --git a/helios/external-backup.sh b/helios/external-backup.sh index 127b4cc..c076ab4 100644 --- a/helios/external-backup.sh +++ b/helios/external-backup.sh @@ -35,7 +35,7 @@ finishUp () { # Clean up tempfiles rm "$LOGFILE" # Just to be sure - sync -f $DATA_PATH + sync -f "$DATA_PATH" } healthchecksStart () { @@ -86,8 +86,8 @@ notify () { checkFreeSpace () { # Pruefe auf freien Plattenplatz GETPERCENTAGE='s/.* \([0-9]\{1,3\}\)%.*/\1/' -KBISFREE=$(df /$DATA_PATH | tail -n1 | sed -e "$GETPERCENTAGE") -INODEISFREE=$(df -i /$DATA_PATH | tail -n1 | sed -e "$GETPERCENTAGE") +KBISFREE=$(df /"$DATA_PATH" | tail -n1 | sed -e "$GETPERCENTAGE") +INODEISFREE=$(df -i /"$DATA_PATH" | tail -n1 | sed -e "$GETPERCENTAGE") if [ "$KBISFREE" -ge $HDMINFREE ] || [ "$INODEISFREE" -ge $HDMINFREE ] ; then echo "Fatal: Not enough space left for rotating backups!" @@ -111,7 +111,7 @@ EOF source $CONFFILE - if [ -z $GOTIFYURL ] || [ -z $HCURL ] ; then + if [ -z "$GOTIFYURL" ] || [ -z "$HCURL" ] ; then echo "Fatal: GOTIFYURL and HCURL must be set in $CONFFILE. Please edit the file and set correct values, then try again." exit 1 fi @@ -126,7 +126,7 @@ EOF # Unter welchem Pfad wird gesichert? DATA_PATH="/mnt/${HDDNAME}" - if ! [ -d $DATA_PATH ] ; then + if ! [ -d "$DATA_PATH" ] ; then echo "Fatal: Data path does not exist: $DATA_PATH" healthchecksFinish fail notify custom "DATA_PATH_NON_EXISTENT" "FATAL" "Data path does not exist: $DATA_PATH" @@ -136,8 +136,8 @@ EOF checkFreeSpace # Ggf. Verzeichnis anlegen - if ! [ -d $DATA_PATH/"$SERVER"/daily.0 ] ; then - mkdir -p $DATA_PATH/"$SERVER"/daily.0 + if ! [ -d "$DATA_PATH"/"$SERVER"/daily.0 ] ; then + mkdir -p "$DATA_PATH"/"$SERVER"/daily.0 fi } @@ -145,25 +145,25 @@ rotate () { echo "Rotating snapshots of $SERVER..." # Das hoechste Snapshot abloeschen - if [ -d $DATA_PATH/"$SERVER"/daily.12 ] ; then - rm -rf $DATA_PATH/"$SERVER"/daily.12 + if [ -d "$DATA_PATH"/"$SERVER"/daily.12 ] ; then + rm -rf "$DATA_PATH"/"$SERVER"/daily.12 fi # Alle anderen Snapshots eine Nummer nach oben verschieben for OLD in 12 11 10 9 8 7 6 5 4 3 2 1 ; do - if [ -d $DATA_PATH/"$SERVER"/daily.$OLD ] ; then + if [ -d "$DATA_PATH"/"$SERVER"/daily.$OLD ] ; then NEW=$(( OLD + 1 )) # Datum sichern - touch $DATA_PATH/.timestamp -r $DATA_PATH/"$SERVER"/daily.$OLD - mv $DATA_PATH/"$SERVER"/daily.$OLD $DATA_PATH/"$SERVER"/daily."$NEW" + touch "$DATA_PATH"/.timestamp -r "$DATA_PATH"/"$SERVER"/daily.$OLD + mv "$DATA_PATH"/"$SERVER"/daily.$OLD "$DATA_PATH"/"$SERVER"/daily."$NEW" # Datum zurueckspielen - touch $DATA_PATH/"$SERVER"/daily."$NEW" -r $DATA_PATH/.timestamp + touch "$DATA_PATH"/"$SERVER"/daily."$NEW" -r "$DATA_PATH"/.timestamp fi done # Snapshot von Level-0 per hardlink-Kopie nach Level-1 kopieren - if [ -d $DATA_PATH/"$SERVER"/daily.0 ] ; then - cp -al $DATA_PATH/"$SERVER"/daily.0 $DATA_PATH/"$SERVER"/daily.1 + if [ -d "$DATA_PATH"/"$SERVER"/daily.0 ] ; then + cp -al "$DATA_PATH"/"$SERVER"/daily.0 "$DATA_PATH"/"$SERVER"/daily.1 fi STATUSCODE=$? @@ -183,7 +183,6 @@ backupNC () { NCOCC="sudo -u www-data php $NCDIR/occ" NCDATADIR="$($NCOCC config:system:get datadirectory)" NCDUMPSDIR="$NCDATADIR/sqldumps" - NCBKPPATH="$DATA_PATH/"$SERVER"/daily.0$NCDATADIR" DBPASSWORD="$($NCOCC config:system:get dbpassword)" DBNAME="$($NCOCC config:system:get dbname)" DBHOST="$($NCOCC config:system:get dbhost)" @@ -196,19 +195,18 @@ backupNC () { return 1 fi - mkdir -p $NCDUMPSDIR - find $NCDUMPSDIR/nextcloud-sqlbkp_* -maxdepth 0 -mmin +$(($DELETEDAYS*60*24)) -exec rm -rvf {} \; > 2&>1 + mkdir -p "$NCDUMPSDIR" + find "$NCDUMPSDIR"/nextcloud-sqlbkp_* -maxdepth 0 -mmin +$(($DELETEDAYS*60*24)) -exec rm -rvf {} \; > 2&>1 echo "Starting nextcloud backup..." $NCOCC maintenance:mode --on echo "Backup Nextcloud DB" - PGPASSWORD=$DBPASSWORD pg_dump $DBNAME -h $DBHOST -U $DBUSER -f "$NCDUMPSDIR/nextcloud-sqlbkp_`date +"%Y-%m-%d-%H-%M-%S"`.bak" + PGPASSWORD=$DBPASSWORD pg_dump "$DBNAME" -h "$DBHOST" -U "$DBUSER" -f "$NCDUMPSDIR/nextcloud-sqlbkp_$(date +"%Y-%m-%d-%H-%M-%S").bak" echo "Backup $NCDATADIR" - mkdir -p $NCBKPPATH - rsync -aAXHh --stats --numeric-ids --noatime --delete --delete-excluded $NCDATADIR/ $NCBKPPATH + rsync -aAXHh --stats --numeric-ids --noatime --delete --delete-excluded "$NCDATADIR"/ "$DATA_PATH"/"$SERVER"/daily.0"$NCDATADIR" STATUSCODE=$? @@ -236,7 +234,7 @@ backup () { rsync -aAXHh --stats --numeric-ids --noatime --delete --delete-excluded \ --include={"/mnt/storage","/mnt/storage/media**","/mnt/storage/backup**"} \ --exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/media/*","/lost+found","/.snapshots"} \ - $SRC_PATH $DATA_PATH/"$SERVER"/daily.0 + $SRC_PATH "$DATA_PATH"/"$SERVER"/daily.0 STATUSCODE=$? @@ -253,7 +251,7 @@ backup () { fi # Verzeichnis anfassen, um Backup-Datum zu speichern - touch $DATA_PATH/"$SERVER"/daily.0 + touch "$DATA_PATH"/"$SERVER"/daily.0 echo "Finished rsync backup from $SERVER..." } @@ -262,7 +260,7 @@ backup () { exec > >(tee -i "${LOGFILE}") exec 2>&1 -basicChecks ${1} +basicChecks "${1}" healthchecksStart notify start setLED