脚本名称:/etc/init.d/rclone-mount(需 root 权限创建)
bash
#!/bin/sh
### 配置参数(根据实际情况修改)###
RCLONE_PATH="/data/local/bin/rclone" # RClone二进制文件路径
REMOTE_NAME="mygdrive" # RClone配置的远程存储名称(如Google Drive)
REMOTE_PATH="movies" # 远程存储路径(留空为根目录)
MOUNT_POINT="/data/rclone/mount" # 本地挂载目录
CONFIG_PATH="/root/.config/rclone/rclone.conf" # RClone配置文件路径
FUSE_MODULE="/lib/modules/fuse.ko" # fuse模块路径(无则注释)
### 启动函数 ###
start() {
# 检查RClone是否存在
if [ ! -f "$RCLONE_PATH" ]; then
echo "Error: RClone not found at $RCLONE_PATH"
return 1
fi
# 创建挂载目录
if [ ! -d "$MOUNT_POINT" ]; then
mkdir -p "$MOUNT_POINT" || { echo "Failed to create $MOUNT_POINT"; return 1; }
fi
# 加载fuse模块(如需要)
if [ -f "$FUSE_MODULE" ]; then
insmod "$FUSE_MODULE" || { echo "Failed to load fuse module"; return 1; }
fi
# 执行挂载(后台运行,添加常见优化参数)
$RCLONE_PATH mount \
--config "$CONFIG_PATH" \
--daemon \
--allow-other \
--allow-non-empty \
--vfs-cache-mode writes \
--cache-dir "/data/rclone/cache" \
"$REMOTE_NAME:$REMOTE_PATH" "$MOUNT_POINT"
# 验证挂载结果
if mount | grep -q "$MOUNT_POINT"; then
echo "RClone mounted successfully at $MOUNT_POINT"
return 0
else
echo "Failed to mount RClone"
return 1
fi
}
### 停止函数 ###
stop() {
# 卸载挂载点
if mount | grep -q "$MOUNT_POINT"; then
fusermount -u "$MOUNT_POINT" || umount "$MOUNT_POINT"
echo "RClone unmounted from $MOUNT_POINT"
else
echo "RClone is not mounted"
fi
}
### 重启函数 ###
restart() {
stop
sleep 2
start
}
### 执行参数匹配 ###
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
restart
;;
*)
echo "Usage: $0 {start|stop|restart}"
exit 1
;;
esac
三、脚本使用与自启配置步骤
保存并授权脚本:
bash
chmod +x /etc/init.d/rclone-mount # 赋予执行权限
测试脚本功能:
bash
/etc/init.d/rclone-mount start # 启动挂载
/etc/init.d/rclone-mount stop # 停止挂载
设置开机自启(webOS 多基于 sysvinit):
bash
# 建立软链接到启动目录(不同机型可能路径不同,以下为常见路径)
ln -s /etc/init.d/rclone-mount /etc/rc3.d/S99rclone
ln -s /etc/init.d/rclone-mount /etc/rc5.d/S99rclone



自我评论一下,哈哈