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 \
| 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"}
[ -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"
}
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" {
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