🔄 卡若AI 同步 2026-03-02 13:49 | 更新:金仓、运营中枢工作台 | 排除 >20MB: 14 个
This commit is contained in:
52
01_卡资(金)/金仓_存储备份/群晖NAS管理/scripts/ckbnas_enable_timemachine_netbackup.sh
Executable file
52
01_卡资(金)/金仓_存储备份/群晖NAS管理/scripts/ckbnas_enable_timemachine_netbackup.sh
Executable file
@@ -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"
|
||||
@@ -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"
|
||||
@@ -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"
|
||||
|
||||
@@ -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 备份」**
|
||||
|
||||
@@ -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 个 |
|
||||
|
||||
@@ -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) |
|
||||
|
||||
Reference in New Issue
Block a user