From 8c42d0bc0c0360e5e01c8dae7d9cf138cabf8202 Mon Sep 17 00:00:00 2001 From: Thomas C Date: Fri, 2 Jun 2023 14:07:27 +0000 Subject: [PATCH] rotate backup only if current backup ok --- script.sh | 27 +++++++++++++++++++++++---- 1 file changed, 23 insertions(+), 4 deletions(-) diff --git a/script.sh b/script.sh index bf142b4..622f7da 100644 --- a/script.sh +++ b/script.sh @@ -2,17 +2,36 @@ set -eu +if [ "$#" -ne 1 ] ; then + echo "Usage: $O dir_to_backup" + exit 1 +fi + +test -d "$1" || { + echo "$1 don't exist or not a dir" + exit 2 +} + +if [ ! -d "$1" ] ; then + echo "$1 don't exist or not a dir" + exit 2 +fi + src=$1 dest=/var/backups/$(date -I) -mkdir -p ${dest} +mkdir -p "${dest}" || exit 3 # tar cpzf /var/backups/$(date -I)/etc.tgz /etc -tar cpzf ${dest}/${src}.tgz ${src} +tar cpzf "${dest}/${src}.tgz" "${src}" +ret=$? -find ${dest} -maxdepth 1 -type f -mtime +7 -exec echo rm {} \; +if [ $ret -eq 0 ] ; then + find "${dest}" -maxdepth 1 -type f -mtime +7 -exec echo rm {} \; +fi -exit 0 \ No newline at end of file + +exit $ret \ No newline at end of file