From 31b814cf1a7c916eb9061e3a6cf5cd03c4ea36b3 Mon Sep 17 00:00:00 2001 From: Bastian Dehn Date: Sat, 24 May 2025 15:52:22 +0200 Subject: [PATCH] change old backup --- backup | 68 +++++++++++++++++++++------------------------------------- 1 file changed, 24 insertions(+), 44 deletions(-) diff --git a/backup b/backup index ac27188..d917715 100755 --- 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" -- 2.39.5