From: Bastian Dehn Date: Tue, 4 Aug 2026 16:17:01 +0000 (+0200) Subject: add get first backup dir X-Git-Tag: v1.0.6^2~1^2~64 X-Git-Url: https://gitweb.hhaalo.de/?a=commitdiff_plain;h=f52365d836d3895eb06a3aac7631e079a160a878;p=simple-backup.git add get first backup dir --- diff --git a/src/backup b/src/backup index 3d88699..e501d80 100755 --- a/src/backup +++ b/src/backup @@ -70,8 +70,8 @@ exists_backup_count() get_last_backup_dir_path() { local config="$1" - local backup_path=$(echo "$config" | jq '.backup_path') - local backup_name=$(echo "$config" | jq '.backup_name') + local backup_path=$(echo "$config" | jq --raw-output '.backup_path') + local backup_name=$(echo "$config" | jq --raw-output '.backup_name') find "$backup_path" \ -maxdepth 1 \ @@ -81,6 +81,27 @@ get_last_backup_dir_path() | tail --lines=1 } +get_backup_dir() +{ + local config="$1" + local backup_path= + local backup_name= + local date= + local last_backup_number="1" + date=$(date --iso-8601=date) + backup_path=$(echo "$config" | jq --raw-output '.backup_path') + backup_name=$(echo "$config" | jq --raw-output '.backup_name') + + local backup_dir= + local number= + for number in $(seq --format "%02g" "$last_backup_number" 99); do + backup_dir="$date"_"$number"_"$backup_name" + [ -d "$backup_path/$backup_dir" ] || break; + done + + echo "$backup_dir" +} + main() { local CONFIG_FILE=${CONFIG_FILE:="config.yaml"} @@ -102,6 +123,10 @@ main() [ -n "$last_backup_dir_path" ] \ && echo "ℹ️ INFO: last backup dir path $last_backup_dir_path" + local backup_dir= + backup_dir=$(get_backup_dir "$config") + echo "ℹ️ INFO: backup folder $backup_dir" + echo "✅ SUCCESS: backup" } diff --git a/tests/backup_tests.bats b/tests/backup_tests.bats index 0e76a62..36b4d34 100755 --- a/tests/backup_tests.bats +++ b/tests/backup_tests.bats @@ -152,7 +152,7 @@ teardown() { assert_line --index 1 "ℹ️ INFO: backup path /images/backup" assert_line --index 2 "ℹ️ INFO: backup name backup" assert_line --index 3 "ℹ️ INFO: backup count 15" - assert_line --index 4 "✅ SUCCESS: backup" + assert_line --index 5 "✅ SUCCESS: backup" } @test "last backup dir path info" { @@ -168,5 +168,21 @@ teardown() { assert_line --index 2 "ℹ️ INFO: backup name backup" assert_line --index 3 "ℹ️ INFO: backup count 15" assert_line --index 4 "ℹ️ INFO: last backup dir path /images/backup/2000-01-01_backup" + assert_line --index 6 "✅ SUCCESS: backup" +} + +@test "new backup folder info" { + date() { + echo "2000-01-01" + } + + run main + + assert_success + assert_line --index 0 "⭐ START: backup" + assert_line --index 1 "ℹ️ INFO: backup path /images/backup" + assert_line --index 2 "ℹ️ INFO: backup name backup" + assert_line --index 3 "ℹ️ INFO: backup count 15" + assert_line --index 4 "ℹ️ INFO: backup folder 2000-01-01_01_backup" assert_line --index 5 "✅ SUCCESS: backup" } \ No newline at end of file