From bbbb99999ce80c3d1857641850abe0e2c09e9165 Mon Sep 17 00:00:00 2001 From: karuo Date: Mon, 2 Mar 2026 13:49:57 +0800 Subject: [PATCH] =?UTF-8?q?=F0=9F=94=84=20=E5=8D=A1=E8=8B=A5AI=20=E5=90=8C?= =?UTF-8?q?=E6=AD=A5=202026-03-02=2013:49=20|=20=E6=9B=B4=E6=96=B0?= =?UTF-8?q?=EF=BC=9A=E9=87=91=E4=BB=93=E3=80=81=E8=BF=90=E8=90=A5=E4=B8=AD?= =?UTF-8?q?=E6=9E=A2=E5=B7=A5=E4=BD=9C=E5=8F=B0=20|=20=E6=8E=92=E9=99=A4?= =?UTF-8?q?=20>20MB:=2014=20=E4=B8=AA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../scripts/ckbnas_enable_timemachine_netbackup.sh | 52 +++++++++++++++++++ .../ckbnas_enable_timemachine_netbackup_standalone.sh | 37 +++++++++++++ .../群晖NAS管理/scripts/time_machine_ckbnas_netbackup.sh | 2 +- .../参考资料/Time_Machine_ckbnas_NetBackup.md | 19 ++++++- 运营中枢/工作台/gitea_push_log.md | 1 + 运营中枢/工作台/代码管理.md | 1 + 6 files changed, 109 insertions(+), 3 deletions(-) create mode 100755 01_卡资(金)/金仓_存储备份/群晖NAS管理/scripts/ckbnas_enable_timemachine_netbackup.sh create mode 100644 01_卡资(金)/金仓_存储备份/群晖NAS管理/scripts/ckbnas_enable_timemachine_netbackup_standalone.sh diff --git a/01_卡资(金)/金仓_存储备份/群晖NAS管理/scripts/ckbnas_enable_timemachine_netbackup.sh b/01_卡资(金)/金仓_存储备份/群晖NAS管理/scripts/ckbnas_enable_timemachine_netbackup.sh new file mode 100755 index 00000000..69e3ccb9 --- /dev/null +++ b/01_卡资(金)/金仓_存储备份/群晖NAS管理/scripts/ckbnas_enable_timemachine_netbackup.sh @@ -0,0 +1,52 @@ +#!/bin/bash +# ============================================ +# 在 ckbnas 上为 NetBackup 共享启用 Time Machine(SMB fruit) +# 需 NAS 上 fnvtk 具备 sudo 权限;密码通过环境变量 CKB_NAS_SUDO_PASS 传入(不写死) +# 用法:export CKB_NAS_SUDO_PASS='你的DSM密码' && bash ckbnas_enable_timemachine_netbackup.sh +# ============================================ + +set -e +CKB_IP="${CKB_IP:-192.168.1.201}" +SHARE="NetBackup" + +echo "=== ckbnas 启用 Time Machine (NetBackup) ===" +echo "目标: ${CKB_IP} / ${SHARE}" +echo "" + +if [ -z "$CKB_NAS_SUDO_PASS" ]; then + echo "未设置 CKB_NAS_SUDO_PASS,无法在 NAS 上执行 sudo。" + echo "请执行: export CKB_NAS_SUDO_PASS='你的DSM登录密码'" + echo "然后重新运行本脚本。" + exit 1 +fi + +# 远程脚本:从环境变量 SUDO_PASS 读密码 +REMOTE_SCRIPT=$(cat << 'REMOTEEOF' +CONF=/etc/samba/smb.share.conf +BAK=/etc/samba/smb.share.conf.bak.timemachine +if grep -q "fruit:time machine" "$CONF" 2>/dev/null; then + echo "ALREADY: fruit:time machine 已存在,无需修改" + exit 0 +fi +echo "$SUDO_PASS" | sudo -S cp -a "$CONF" "$BAK" 2>/dev/null || { echo "ERR: 无法备份或无权写"; exit 2; } +awk '/^\[NetBackup\]/ { inblock=1; print; next } +inblock && /^\[/ { print "\tfruit:time machine = yes"; inblock=0 } +inblock && /path=\/volume1\/NetBackup/ { print; print "\tfruit:time machine = yes"; next } +{ print }' "$CONF" > /tmp/smb.share.conf.new +echo "$SUDO_PASS" | sudo -S mv /tmp/smb.share.conf.new "$CONF" 2>/dev/null || { echo "ERR: 无法写配置"; exit 3; } +if grep -q "fruit:time machine" "$CONF"; then + echo "OK: 已添加 fruit:time machine 到 NetBackup" + echo "$SUDO_PASS" | sudo -S systemctl restart pkg-synosamba-smbd.service 2>/dev/null || true + echo "OK: 已尝试重启 SMB" +else + echo "ERR: 修改未生效" + exit 1 +fi +REMOTEEOF +) + +# 传入 SUDO_PASS 并执行(密码仅通过环境变量传递) +ssh -o StrictHostKeyChecking=no -o ConnectTimeout=10 fnvtk@${CKB_IP} "export SUDO_PASS='${CKB_NAS_SUDO_PASS//\'/\'\\\'\'}'; $REMOTE_SCRIPT" 2>&1 + +echo "" +echo "配置完成。请在 Mac 上重新选择备份磁盘或执行: sudo tmutil setdestination /Volumes/NetBackup" diff --git a/01_卡资(金)/金仓_存储备份/群晖NAS管理/scripts/ckbnas_enable_timemachine_netbackup_standalone.sh b/01_卡资(金)/金仓_存储备份/群晖NAS管理/scripts/ckbnas_enable_timemachine_netbackup_standalone.sh new file mode 100644 index 00000000..e296af9a --- /dev/null +++ b/01_卡资(金)/金仓_存储备份/群晖NAS管理/scripts/ckbnas_enable_timemachine_netbackup_standalone.sh @@ -0,0 +1,37 @@ +#!/bin/bash +# ============================================ +# 在 ckbnas 上以 root 运行:为 NetBackup 启用 Time Machine(SMB fruit) +# 用法:将本脚本复制到 NAS(如 /volume1/scripts/),SSH 登录后 sudo bash 本脚本,或 DSM 计划任务以 root 运行 +# 例:scp 本脚本 fnvtk@192.168.1.201:/volume1/NetBackup/ 然后 ssh fnvtk@192.168.1.201 'sudo bash /volume1/NetBackup/ckbnas_enable_timemachine_netbackup_standalone.sh' +# ============================================ + +CONF=/etc/samba/smb.share.conf +BAK=/etc/samba/smb.share.conf.bak.timemachine + +if [ "$(id -u)" -ne 0 ]; then + echo "请以 root 运行(sudo bash $0)" + exit 1 +fi + +if grep -q "fruit:time machine" "$CONF" 2>/dev/null; then + echo "ALREADY: fruit:time machine 已存在,无需修改" + exit 0 +fi + +cp -a "$CONF" "$BAK" || { echo "ERR: 无法备份"; exit 2; } + +awk '/^\[NetBackup\]/ { inblock=1; print; next } +inblock && /^\[/ { print "\tfruit:time machine = yes"; inblock=0 } +inblock && /path=\/volume1\/NetBackup/ { print; print "\tfruit:time machine = yes"; next } +{ print }' "$CONF" > /tmp/smb.share.conf.new +mv /tmp/smb.share.conf.new "$CONF" || { echo "ERR: 无法写配置"; exit 3; } + +if grep -q "fruit:time machine" "$CONF"; then + echo "OK: 已添加 fruit:time machine 到 NetBackup" + systemctl restart pkg-synosamba-smbd.service 2>/dev/null || true + echo "OK: 已尝试重启 SMB" +else + echo "ERR: 修改未生效,已保留备份 $BAK" + exit 1 +fi +echo "完成。Mac 端可执行: sudo tmutil setdestination /Volumes/NetBackup" diff --git a/01_卡资(金)/金仓_存储备份/群晖NAS管理/scripts/time_machine_ckbnas_netbackup.sh b/01_卡资(金)/金仓_存储备份/群晖NAS管理/scripts/time_machine_ckbnas_netbackup.sh index f1307c14..4e0dd04d 100755 --- a/01_卡资(金)/金仓_存储备份/群晖NAS管理/scripts/time_machine_ckbnas_netbackup.sh +++ b/01_卡资(金)/金仓_存储备份/群晖NAS管理/scripts/time_machine_ckbnas_netbackup.sh @@ -1,7 +1,7 @@ #!/bin/bash # ============================================ # 时间机器 → ckbnas (192.168.1.201) NetBackup 目录 -# 用法:先确保 DSM 已为 NetBackup 启用 Time Machine,再运行本脚本或按下方命令操作 +# 用法:先确保 NAS 已启用 NetBackup 的 Time Machine(见参考资料 Time_Machine_ckbnas_NetBackup.md 或执行一次 ssh fnvtk@192.168.1.201 'sudo bash /volume1/NetBackup/scripts/enable_tm.sh'),再运行本脚本或按下方命令操作 # ============================================ CKB_IP="192.168.1.201" diff --git a/01_卡资(金)/金仓_存储备份/群晖NAS管理/参考资料/Time_Machine_ckbnas_NetBackup.md b/01_卡资(金)/金仓_存储备份/群晖NAS管理/参考资料/Time_Machine_ckbnas_NetBackup.md index b791b314..cd104e0a 100644 --- a/01_卡资(金)/金仓_存储备份/群晖NAS管理/参考资料/Time_Machine_ckbnas_NetBackup.md +++ b/01_卡资(金)/金仓_存储备份/群晖NAS管理/参考资料/Time_Machine_ckbnas_NetBackup.md @@ -6,9 +6,24 @@ --- -## 一、ckbnas DSM 必做(先做) +## 一、ckbnas 启用 Time Machine(二选一) -在浏览器打开 **http://192.168.1.201:5000** 登录 DSM(用户 fnvtk),依次完成: +### 方式 A:全自动脚本(已部署到 NAS,需执行一次 sudo) + +脚本已放在 ckbnas 上:`/volume1/NetBackup/scripts/enable_tm.sh`。**只需在 NAS 上以 root 执行一次**: + +```bash +ssh fnvtk@192.168.1.201 +sudo bash /volume1/NetBackup/scripts/enable_tm.sh +``` + +按提示输入 fnvtk 的 sudo 密码(与 DSM 登录密码一致;若未配置 sudo 则需用 admin 登录 DSM 在「控制面板 → 用户 → fnvtk → 编辑」中勾选「允许使用 sudo」)。执行成功后即可在 Mac 上选择 NetBackup 作为时间机器目标。 + +**从本机一键配置**(若 fnvtk 已配置 sudo 且已知密码):在本机执行 `export CKB_NAS_SUDO_PASS='你的DSM密码'` 后运行 `bash 01_卡资(金)/金仓_存储备份/群晖NAS管理/scripts/ckbnas_enable_timemachine_netbackup.sh`,即可远程为 NetBackup 启用 Time Machine 并重启 SMB。 + +### 方式 B:DSM 图形界面 + +在浏览器打开 **http://192.168.1.201:5000** 登录 DSM(用户 fnvtk 或 admin),依次完成: 1. **控制面板** → **文件服务** → **高级**(或 **Time Machine**) - 勾选 **「启用 Time Machine 备份」** diff --git a/运营中枢/工作台/gitea_push_log.md b/运营中枢/工作台/gitea_push_log.md index c92e95e5..5037738e 100644 --- a/运营中枢/工作台/gitea_push_log.md +++ b/运营中枢/工作台/gitea_push_log.md @@ -206,3 +206,4 @@ | 2026-03-02 03:27:34 | 🔄 卡若AI 同步 2026-03-02 03:27 | 更新:Cursor规则、水桥平台对接、运营中枢参考资料、运营中枢工作台 | 排除 >20MB: 14 个 | | 2026-03-02 04:34:31 | 🔄 卡若AI 同步 2026-03-02 04:34 | 更新:运营中枢参考资料、运营中枢工作台 | 排除 >20MB: 14 个 | | 2026-03-02 04:45:41 | 🔄 卡若AI 同步 2026-03-02 04:45 | 更新:Cursor规则、总索引与入口、运营中枢参考资料、运营中枢工作台 | 排除 >20MB: 14 个 | +| 2026-03-02 13:43:12 | 🔄 卡若AI 同步 2026-03-02 13:43 | 更新:Cursor规则、金仓、水桥平台对接、总索引与入口、运营中枢参考资料、运营中枢工作台 | 排除 >20MB: 14 个 | diff --git a/运营中枢/工作台/代码管理.md b/运营中枢/工作台/代码管理.md index b7a2fad8..e8a97b79 100644 --- a/运营中枢/工作台/代码管理.md +++ b/运营中枢/工作台/代码管理.md @@ -209,3 +209,4 @@ | 2026-03-02 03:27:34 | 成功 | 成功 | 🔄 卡若AI 同步 2026-03-02 03:27 | 更新:Cursor规则、水桥平台对接、运营中枢参考资料、运营中枢工作台 | 排除 >20MB: 14 个 | [仓库](http://open.quwanzhi.com:3000/fnvtk/karuo-ai) [百科](http://open.quwanzhi.com:3000/fnvtk/karuo-ai/wiki) | | 2026-03-02 04:34:31 | 成功 | 成功 | 🔄 卡若AI 同步 2026-03-02 04:34 | 更新:运营中枢参考资料、运营中枢工作台 | 排除 >20MB: 14 个 | [仓库](http://open.quwanzhi.com:3000/fnvtk/karuo-ai) [百科](http://open.quwanzhi.com:3000/fnvtk/karuo-ai/wiki) | | 2026-03-02 04:45:41 | 成功 | 成功 | 🔄 卡若AI 同步 2026-03-02 04:45 | 更新:Cursor规则、总索引与入口、运营中枢参考资料、运营中枢工作台 | 排除 >20MB: 14 个 | [仓库](http://open.quwanzhi.com:3000/fnvtk/karuo-ai) [百科](http://open.quwanzhi.com:3000/fnvtk/karuo-ai/wiki) | +| 2026-03-02 13:43:12 | 成功 | 成功 | 🔄 卡若AI 同步 2026-03-02 13:43 | 更新:Cursor规则、金仓、水桥平台对接、总索引与入口、运营中枢参考资料、运营中枢工作台 | 排除 >20MB: 14 个 | [仓库](http://open.quwanzhi.com:3000/fnvtk/karuo-ai) [百科](http://open.quwanzhi.com:3000/fnvtk/karuo-ai/wiki) |