Files
karuo-ai/01_卡资(金)/金仓_存储备份/脚本/karuo_mount_netbackup.sh
2026-07-19 00:21:46 +08:00

46 lines
1.5 KiB
Bash
Executable File
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/bin/bash
# 静默挂载 CKB NAS NetBackup钥匙串取密 · 禁止 open smb:// 弹窗)
set -euo pipefail
CKB_IP="${CKB_IP:-192.168.110.101}"
NAS_USER="${NAS_USER:-fnvtk}"
SHARE="${SHARE:-NetBackup}"
MOUNT="${MOUNT:-/Volumes/NetBackup}"
# 已挂载(含 Time Machine 的 .timemachine 路径)→ /Volumes/NetBackup 指向真实挂载点
if mount | grep -q "@${CKB_IP}/${SHARE}"; then
actual="$(mount | awk -v ip="$CKB_IP" -v sh="$SHARE" '$0 ~ ip && $0 ~ sh {print $3; exit}')"
if [ -n "$actual" ] && [ "$actual" != "$MOUNT" ]; then
if [ -L "$MOUNT" ]; then
ln -sfn "$actual" "$MOUNT"
elif [ -d "$MOUNT" ]; then
rmdir "$MOUNT" 2>/dev/null || rm -rf "$MOUNT"
ln -sfn "$actual" "$MOUNT"
else
ln -sfn "$actual" "$MOUNT"
fi
fi
exit 0
fi
nas_pass() {
security find-generic-password -s karuo-nas-fnvtk -w 2>/dev/null && return
security find-internet-password -s "$CKB_IP" -a "$NAS_USER" -w 2>/dev/null && return
return 1
}
PASS="$(nas_pass)" || {
echo "❌ 钥匙串无 NAS 密码,先跑 tm_netbackup_cred_sync.sh" >&2
exit 1
}
KARUO_SUDO="${KARUO_SUDO:-/Users/karuo/Documents/个人/卡若AI/01_卡资/金仓_存储备份/脚本/karuo_sudo.sh}"
if [ ! -d "$MOUNT" ]; then
"$KARUO_SUDO" mkdir -p "$MOUNT" 2>/dev/null || mkdir -p "$MOUNT" 2>/dev/null || true
"$KARUO_SUDO" chown "$(id -un):staff" "$MOUNT" 2>/dev/null || true
fi
# mount_smbfs 走钥匙串密码,不弹「连接服务器」对话框
mount_smbfs "//${NAS_USER}:${PASS}@${CKB_IP}/${SHARE}" "$MOUNT"