]> gitweb.hhaalo.de Git - simple-backup.git/commitdiff
change old backup
authorBastian Dehn <hhaalo@arcor.de>
Sat, 24 May 2025 13:52:22 +0000 (15:52 +0200)
committerBastian Dehn <hhaalo@arcor.de>
Sat, 24 May 2025 13:52:22 +0000 (15:52 +0200)
backup

diff --git a/backup b/backup
index ac2718848526190d3832b3900c477a9db7dc7267..d917715186ab7c553804c4d326288b34f21137cd 100755 (executable)
--- a/backup
+++ b/backup
@@ -203,6 +203,22 @@ make_history()
        fi
 }
 
+is_backup_old()
+{
+       local backup_typ="$1"
+       local backup_date="$2"
+       local backup_month=$(date --date="$backup_date" '+%Y-%m')
+       local now_month=$(date '+%Y-%m')
+       local diff=$(( ($(date --date="$backup_date" +%s) - $(date +%s)) / 86400 ))
+
+       case "$backup_typ" in
+       "day") [ $diff -ge 0 ] || return 1 ;;
+       "week") [ $diff -ge -6 ] || return 1 ;;
+       "month") [ "$backup_month" == "$now_month" ] || return 1 ;;
+       *) return 0;;
+       esac
+}
+
 check_backup_date()
 {
        local LIGHTRED="\e[1;31m"
@@ -212,57 +228,21 @@ check_backup_date()
 
        print_line
        printf "\n"
-       for i in day week month; do
-               if [ -f "$i" ]; then
-                       if [ $(IsBackupOld $i $(cat $i)) ]; then
-                               color=$LIGHTRED
-                       else
-                               color=$LIGHTGREEN
-                       fi
-                       printf "${color}Letzte Sicherung %s " "$i"
-                       printf "am %s${RESET}\n" "$(cat $i)"
+       for typ in day week month; do
+               if [ -f "$typ" ]; then
+                       color=$LIGHTGREEN
+                       is_backup_old $typ $(cat $typ) || color=$LIGHTRED
+                       printf "${color}last backup %s " "$typ"
+                       printf "am %s${RESET}\n" "$(cat $typ)"
                else
-                       printf "${LIGHTRED}Keine Sicherung %s " $i
-                       printf "vorhanden${RESET}\n"
+                       printf "${LIGHTRED}no backup %s " $typ
+                       printf "exists${RESET}\n"
                fi
        done
        printf "\n"
        print_line
 }
 
-## @fn IsBackupOld()
-## @brief Ermittlung ob ein Backup zu alt ist
-## @param Art von Backup day week month
-IsBackupOld()
-{
-       local readonly backup="$1"
-       local readonly diff=$(( ($(date --date="$2" +%s) - $(date +%s))
-                               / 86400 ))
-
-       case "$backup" in
-       "day")
-               if [ $diff -lt 0 ]; then
-                       echo 1
-               fi
-               ;;
-       "week")
-               if [ $diff -le -7 ]; then
-                       echo 1
-               fi
-               ;;
-       "month")
-               local readonly backupmonth=$(date --date="$2" '+%Y-%m')
-               local readonly nowmonth=$(date '+%Y-%m')
-               if [ "$backupmonth" != "$nowmonth" ]; then
-                       echo 1
-               fi
-               ;;
-       *)
-               echo 0
-               ;;
-       esac
-}
-
 main()
 {
        local only_check="$1"