initial-import: 2026-04-11 21:18:55
This commit is contained in:
Executable
+106
@@ -0,0 +1,106 @@
|
||||
#!/bin/bash
|
||||
|
||||
# 根据记忆中的NAS部署方案,启动Launch Daemon守护进程
|
||||
|
||||
# 检查NAS挂载状态
|
||||
if [ ! -d "/Users/chufeng/nas/stock" ]; then
|
||||
echo "NAS挂载点不存在,正在创建..."
|
||||
mkdir -p "/Users/chufeng/nas/stock"
|
||||
fi
|
||||
|
||||
if ! mount | grep -q "/Users/chufeng/nas/stock"; then
|
||||
echo "NAS未挂载,正在挂载..."
|
||||
osascript -e 'tell application "Finder" to mount volume "smb://cfdaily:Ccf7561523@192.168.2.154/stock"'
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "NAS挂载失败"
|
||||
exit 1
|
||||
fi
|
||||
echo "NAS挂载成功"
|
||||
else
|
||||
echo "NAS已挂载"
|
||||
fi
|
||||
|
||||
# 检查Launch Daemon配置文件
|
||||
LAUNCHD_PLIST="/Library/LaunchDaemons/com.user.nasmount.plist"
|
||||
if [ ! -f "$LAUNCHD_PLIST" ]; then
|
||||
echo "Launch Daemon配置文件不存在,正在复制..."
|
||||
cp "/Users/chufeng/.openclaw/workspace-jiangwei/com.user.nasmount.plist" "$LAUNCHD_PLIST"
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "复制配置文件失败"
|
||||
exit 1
|
||||
fi
|
||||
echo "配置文件复制成功"
|
||||
else
|
||||
echo "Launch Daemon配置文件已存在"
|
||||
fi
|
||||
|
||||
# 检查挂载脚本
|
||||
MOUNT_SCRIPT="/Users/chufeng/.openclaw/workspace-jiangwei/mount_nas.sh"
|
||||
if [ ! -f "$MOUNT_SCRIPT" ]; then
|
||||
echo "挂载脚本不存在,正在创建..."
|
||||
cat > "$MOUNT_SCRIPT" << 'EOF'
|
||||
#!/bin/bash
|
||||
|
||||
# NAS挂载脚本
|
||||
NAS_URL="//cfdaily:Ccf7561523@192.168.2.154/stock"
|
||||
MOUNT_POINT="/Users/chufeng/nas/stock"
|
||||
|
||||
# 创建挂载点(如果不存在)
|
||||
mkdir -p "$MOUNT_POINT"
|
||||
|
||||
# 检查是否已经挂载
|
||||
if mount | grep -q "$MOUNT_POINT"; then
|
||||
echo "NAS已经挂载在 $MOUNT_POINT"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# 等待网络就绪(最多等待30秒)
|
||||
for i in {1..30}; do
|
||||
if ping -c 1 192.168.2.154 &> /dev/null; then
|
||||
break
|
||||
fi
|
||||
sleep 1
|
||||
done
|
||||
|
||||
# 尝试挂载
|
||||
echo "正在挂载NAS..."
|
||||
if /sbin/mount_smbfs "$NAS_URL" "$MOUNT_POINT"; then
|
||||
echo "NAS挂载成功:$MOUNT_POINT"
|
||||
else
|
||||
echo "NAS挂载失败"
|
||||
exit 1
|
||||
fi
|
||||
EOF
|
||||
chmod +x "$MOUNT_SCRIPT"
|
||||
echo "挂载脚本创建成功"
|
||||
else
|
||||
echo "挂载脚本已存在"
|
||||
fi
|
||||
|
||||
# 启动Launch Daemon守护进程
|
||||
echo "正在启动Launch Daemon守护进程..."
|
||||
sudo launchctl load -w "$LAUNCHD_PLIST"
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "Launch Daemon启动失败"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 检查Launch Daemon状态
|
||||
echo "正在检查Launch Daemon状态..."
|
||||
if launchctl list com.user.nasmount &> /dev/null; then
|
||||
echo "Launch Daemon正在运行"
|
||||
else
|
||||
echo "Launch Daemon未运行"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 检查NAS挂载状态
|
||||
echo "正在检查NAS挂载状态..."
|
||||
if mount | grep -q "/Users/chufeng/nas/stock"; then
|
||||
echo "NAS已成功挂载"
|
||||
else
|
||||
echo "NAS未挂载,正在尝试挂载..."
|
||||
"$MOUNT_SCRIPT"
|
||||
fi
|
||||
|
||||
echo "NAS部署完成"
|
||||
Reference in New Issue
Block a user