有一个usb外置的硬盘,想插电直接可以linux挂载,关电linux直接umount, 查了一下没有一个比较合适的解决方案。于是自己写了一脚本,然后使用crontab 每10秒运行一次。 计划任务,增加每分钟的任务 crontab -e #增加每分钟的任务 * * * * * /etc/misc/usb_auto_check.sh &>>/var/log/usb_auto_check.log 2>&1 usb_auto_check.sh: #!/bin/bash # mountpoint=/hdd8t devuuid=30ea7272-4283-4def-9ab4-69b204b9c 在Linux系统中,自动挂载和卸载USB外部硬盘是一个常见的需求,特别是在需要频繁插拔设备的情况下。在上述描述中,用户通过编写脚本并利用crontab来实现这一功能。下面将详细解释如何实现这一过程,并探讨相关知识点。 我们需要创建一个脚本文件,比如`usb_auto_check.sh`,这个脚本会检查USB设备是否已挂载或连接。在给出的脚本示例中,挂载点被设置为`/hdd8t`,设备UUID为`30ea7272-4283-4def-9ab4-69b204b9c09c`。脚本的主要逻辑如下: 1. 使用`for`循环,每隔10秒执行一次检查(注意,实际应用中这个间隔可能需要根据具体情况进行调整,避免过于频繁的操作对系统性能造成影响)。 2. 使用`/usr/bin/mount`命令和`grep`过滤挂载点,计算结果行数,如果行数为0,表示设备未挂载。 3. 使用`/usr/sbin/blkid`命令和`grep`过滤UUID,计算结果行数,如果行数为1,表示设备已连接。 4. 如果设备未挂载但已连接,使用`/usr/bin/mount --uuid`命令挂载设备。 5. 如果设备已挂载但断开,使用`/usr/bin/umount`命令卸载设备。 6. 在每次操作后,都会记录当前时间戳和执行的操作到日志文件`/var/log/usb_auto_check.log`,便于后期排查问题。 接下来,我们需要配置crontab来定时执行这个脚本。打开crontab编辑器(`crontab -e`),添加一行任务,如下所示: ``` * * * * * /etc/misc/usb_auto_check.sh &>>/var/log/usb_auto_check.log 2>&1 ``` 这行命令表示每分钟执行一次`usb_auto_check.sh`脚本,并将标准输出和标准错误重定向到日志文件中。`2>&1`确保错误信息也会被记录。 需要注意的是,这种方法虽然简单易行,但在某些情况下可能会存在问题,例如: - 安全性:直接使用root权限执行脚本可能带来安全隐患,应考虑限制脚本的执行权限或者使用sudo。 - 性能影响:频繁检查和操作USB设备可能对系统性能造成一定影响,尤其是当系统资源有限时。 - 设备识别:如果有多块USB硬盘,仅通过UUID可能无法区分,可能需要结合其他信息(如设备路径)来精确挂载。 - 系统兼容性:这种方法可能不适用于所有Linux发行版,因为不同的系统可能有不同的挂载机制和工具。 总结起来,实现Linux自动挂载和卸载USB外部硬盘的关键是编写一个能够检测设备状态并执行相应操作的脚本,然后利用计划任务工具(如crontab)定期执行该脚本。在实际应用中,需要根据系统环境和安全需求进行适当的调整和完善。






























- 粉丝: 8
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 探究计算机应用软件的开发和维护.docx
- 基于城市商业银行视角下区块链技术应用探析.docx
- ATS单片机的教室灯光智能控制系统设计.doc
- 大数据环境下的数据安全治理探讨V5.docx
- 《电子商务基础与实操》电子商务概述.ppt
- 宁夏银川酒店综合布线与报价书.doc
- 超全汇总!计算机视觉项目源码的部署教程链接大盘点
- 基于 OpenCV 计算机视觉的物品分拣开源项目学习交流
- mcmthesis-ThesisNote-美赛资源
- Flet窗口左上角默认图标更换自定义标准模板
- 基于 OpenCV 的计算机视觉与图像处理实战个人项目
- vcos_apps-智能车资源
- 蓝桥杯单片机真题代码-蓝桥杯资源
- Professional Assembly Language-汇编语言资源
- 计算机视觉算法岗面试备战:常考算法实现要点梳理
- 小程序商城源码-Java-C语言资源



- 1
- 2
前往页