Openwrt每分钟检查并自动挂载NTFS格式中文内容USB硬盘
上一篇文章后我发现这硬盘连接并不是十分稳定,三天两头掉挂载,每次掉了都要再ctrl C V一遍代码还是蛮麻烦的,干脆多敲点面条字一次完事。
编写代码
注意:取用时请您自己修改代码中的uuid
#!/bin/sh
# 定义硬盘的 UUID 和挂载点
UUID="你硬盘的uuid"
MOUNT_POINT="/mnt/usb"
# 使用 block info 查找与 UUID 匹配的设备路径
DEVICE_PATH=$(block info | grep "$UUID" | awk -F':' '{print $1}')
# 如果未找到设备路径,则提示设备不存在
if [ -z "$DEVICE_PATH" ]; then
echo "硬盘设备不存在,无法挂载,请检查硬盘连接。"
exit 1
fi
# 检查硬盘是否已经挂载
if ! block info | grep -q "$MOUNT_POINT"; then
echo "硬盘未挂载,开始检测并尝试挂载..."
# 检查挂载点目录是否存在,如果不存在则创建
if [ ! -d "$MOUNT_POINT" ]; then
echo "挂载点目录不存在,创建 /mnt/usb 目录..."
mkdir -p "$MOUNT_POINT"
fi
# 尝试挂载硬盘
echo "硬盘设备存在,尝试挂载..."
ntfs-3g -o locale=zh_CN.UTF-8 "$DEVICE_PATH" "$MOUNT_POINT"
# 检查是否挂载成功
if block info | grep -q "$MOUNT_POINT"; then
echo "硬盘成功挂载到 $MOUNT_POINT"
else
echo "挂载失败,请检查硬盘状态或挂载命令。"
fi
else
echo "硬盘已挂载,无需操作。"
fi
此处将代码保存为hotmount.sh保存在/etc/目录下,方便后续取用
设置开机自启动:设定rc.local
修改/etc/rc.local
,在exit 0 之前加入
bash /etc/hotmount.sh
也可以在openwrt中的系统
启动项
本地启动脚本
中添加该指令,有一点点图形化操作也不错
设置每分钟自动检查:设定cron
一般来说cron都是开机自动运行的,这一步可以略过,但还是写一下吧
依次执行:
/etc/init.d/cron start
#启动cron
/etc/init.d/cron enable
#设定cron开机自启动
设定cron
#首先
crontab -e
#然后添加下面这一行
* * * * * /etc/hotmount.sh
#每分钟执行一次
保存并退出即可,至此所问得解。