From d02d09a8abad50c5ac71dbe31f86ef89c4835306 Mon Sep 17 00:00:00 2001 From: Dominic Reich Date: Sat, 5 Oct 2024 22:01:26 +0200 Subject: [PATCH] improves backup handling of ubl-arch.sh we now also create daily backups that do not count to the max backup size and append only a number at the end instead of overwriting the old (most recent) file --- ubl-arch.sh | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/ubl-arch.sh b/ubl-arch.sh index 6b0320d..6196dc8 100755 --- a/ubl-arch.sh +++ b/ubl-arch.sh @@ -5,24 +5,31 @@ BFILE=/srv/http/blocked.txt IPFILE=~/ips -COUNT=$(wc -l ~/ips | cut -d' ' -f1) if [[ $USER == "root" ]]; then echo >&2 "User must not be root! Exiting" exit 1 fi +if [[ ! -r $IPFILE ]]; then + echo >&2 "Could not find/open ip file: ${IPFILE}" + exit 1 +fi + +COUNT=$(wc -l ${IPFILE} | cut -d' ' -f1) OLDNUM=$(sudo ipset --terse -L | grep "Number of entries:" | cut -d: -f2 | xargs) while read ip; do sudo ipset -exist -A badips "$ip"; done < $IPFILE FILEBACKUP=3 +TODAY=$(ls ${BFILE}.$(date +%Y%m%d)-* 2>/dev/null| wc -l) if [ ${FILEBACKUP} -ne 0 ]; then - sudo cp ${BFILE} ${BFILE}.$(date +%Y%m%d) + # sudo cp ${BFILE} ${BFILE}.$(date +%Y%m%d) + sudo cp ${BFILE} ${BFILE}.$(date +%Y%m%d)-$(expr ${TODAY} + 1) fi -BACKUPCOUNT=$(ls ${BFILE}.* | wc -l) +BACKUPCOUNT=$(expr $(ls ${BFILE}.* | wc -l) - $TODAY - 1) BACKUPSTODELETE=$(expr ${BACKUPCOUNT} - ${FILEBACKUP}) if [ ${BACKUPCOUNT} -gt ${FILEBACKUP} ]; then for f in $(ls -tr ${BFILE}.* | head -${BACKUPSTODELETE})