#!/bin/bash borgCheckLocation() { local idx="$1" local read_data="$2" borgEnvExport "$idx" || return 1 local args=(check) if [[ "$read_data" == "full" ]]; then args+=(--verify-data) fi isNotice "Checking $(resticLocationName "$idx")${read_data:+ (full data verify)}" runBackupOp borg "${args[@]}" local rc=$? borgEnvUnset if [[ $rc -eq 0 ]]; then isSuccessful "$(resticLocationName "$idx") integrity OK" else isError "$(resticLocationName "$idx") integrity FAILED" fi return $rc } borgLocationStats() { local idx="$1" borgEnvExport "$idx" || return 1 local raw raw=$(runBackupOp borg info --json 2>/dev/null) borgEnvUnset [[ -z "$raw" ]] && { echo '{"total_size":0,"total_file_count":0}'; return 0; } if command -v jq >/dev/null 2>&1; then echo "$raw" | jq -c '{ total_size: (.cache.stats.unique_csize // 0), total_file_count: (.archives | length) }' else echo "$raw" | python3 -c ' import json, sys raw = json.load(sys.stdin) size = raw.get("cache", {}).get("stats", {}).get("unique_csize", 0) count = len(raw.get("archives", [])) print(json.dumps({"total_size": size, "total_file_count": count})) ' 2>/dev/null || echo '{"total_size":0,"total_file_count":0}' fi }