← 返回目录

Linux如何自动挂载和卸载usb外部硬盘

发布时间: 2020-05-03 13:27:56
浏览量: 495
收藏数: 1
点赞数: 1
标签: linux, shell, 运维
有一个usb外置的硬盘,想插电直接可以linux挂载,关电linux直接umount, 查了一下没有一个比较合适的解决方案。于是自己写了一脚本,然后使用crontab 每10秒运行一次。计划任务,增加每分钟的任务crontab -e#增加每分钟的任务* * * * * /etc/misc/usb_auto_check.sh &>>/var/log/usb_aut...

有一个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-69b204b9c09c"

step=10 #间隔的秒数,不能大于60
for (( i = 0; i < 60; i=(i+step) )); do
  ismount=`/usr/bin/mount | grep "$mountpoint" | wc -l`
  isdevok=`/usr/sbin/blkid  | grep "$devuuid" | wc -l`

#  echo "ismount${ismount}isdevok${isdevok}xxxx"


  if [ "$ismount" == "0" ]; then
        if [ "$isdevok" == "1" ]; then
                #not mount , but dev is ok, mount it
                 /usr/bin/mount --uuid "$devuuid"  "$mountpoint"
                echo `date` "mount --uuid $devuuid  $mountpoint"
        fi
  else
        if [ "$isdevok" == "0" ]; then
                /usr/bin/umount "$mountpoint"
                echo `date` "umount  $mountpoint"
        fi
  fi
  sleep $step
done
exit 0