fix(portal): read NAS backup history from local log to avoid macOS SMB TCC prompt

Browse Source
This commit is contained in:
Yin Kou committed 2026-11-06 23:17:04 +08:00
1 parent a072a62141
commit 33d188cad9
2 files changed
+13 -12

No files matched your search

+5 -1
View File
@@ -28,6 +28,10 @@ tar -czf "$ARCHIVE" \
README.md PLAN.md CHANGELOG.md 2>/dev/null || true
# 保留最近 30 份备份
COUNT=$(ls -1t "$NAS_BACKUP_DIR"/homelab_backup_*.tar.gz 2>/dev/null | wc -l | tr -d ' ')
ls -1t "$NAS_BACKUP_DIR"/homelab_backup_*.tar.gz 2>/dev/null | tail -n +31 | xargs rm -f 2>/dev/null || true
echo "[$(date '+%Y-%m-%d %H:%M:%S')] [OK] 已备份至极空间: $ARCHIVE"
MSG="[$(date '+%Y-%m-%d %H:%M:%S')] [OK] 已备份至极空间 (共${COUNT}份): $ARCHIVE"
echo "$MSG"
mkdir -p /Users/ixvii0iv/homelab/logs
echo "$MSG" >> /Users/ixvii0iv/homelab/logs/nas-backup.log
+8 -11
View File
@@ -150,20 +150,17 @@ def get_nas_stats() -> dict:
used_tb = round(used_k / (1024**3), 2)
pct = round((used_k / max(1, total_k)) * 100, 1)
latest_backup = "暂无记录"
backup_count = 0
if mounted:
ls_out = run_cmd("ls -lh /Users/ixvii0iv/nas/个人空间/MacMini_Backups/homelab_backup_*.tar.gz 2>/dev/null")
lines = [l for l in ls_out.splitlines() if "homelab_backup_" in l]
latest_backup = "已就绪"
backup_count = 1
b_log = Path("/Users/ixvii0iv/homelab/logs/nas-backup.log")
if b_log.exists():
lines = [l for l in b_log.read_text(errors="ignore").splitlines() if "homelab_backup_" in l]
backup_count = len(lines)
if lines:
last_file = lines[-1].split()[-1]
fname = os.path.basename(last_file)
m = re.search(r"homelab_backup_(\d{4})(\d{2})(\d{2})_(\d{2})(\d{2})", fname)
last_line = lines[-1]
m = re.search(r"homelab_backup_(\d{4})(\d{2})(\d{2})_(\d{2})(\d{2})", last_line)
if m:
latest_backup = f"{m.group(2)}-{m.group(3)} {m.group(4)}:{m.group(5)} (共{backup_count}份)"
else:
latest_backup = f"已备份 ({backup_count}份)"
latest_backup = f"{m.group(2)}-{m.group(3)} {m.group(4)}:{m.group(5)}"
return {
"name": "极空间 Z4",