Linux下实现U盘自动检测

背景:

实现U盘插入系统时,系统自动从数据库中导入各类数据至U盘中。


1.查看系统是否配置udev环境,并掌握其运行模式。

参考文献

参考文献2


2.在Centos 7环境下 udev的两个配置文件目录分别是 /etc/udev/rules.d 和 /usr/lib/udev/rules.d 其中在服务开启时,前者优先加载到内核中。

两个目录下的文件如下所示:



所有以.rules结尾的文件都是规则文件,当规则定义冲突时,且前两位数值大的文件内容会覆盖之前的内容。

所以我们选择  99-systemed.rues 配置我们的规则。

在最后一行插入如下内容:

ACTION=="add",KERNEL=="sd[a-z][0-9]",RUN+="/etc/udev/rules.d/mount.sh %k",RUN+="/etc/udev/rules.d/cpfile.sh"
// 检测到有U盘插入的时候 先执行挂载脚本 再执行写U盘脚本

其中,mount.sh如下:

#!/bin/sh
mount  -t vfat /dev/$1 /mnt/usb
sync

cpfile.sh如下:

#!/bin/bash

# /etc/udev/rules.d
# SUBSYSTEM=="block",ACCTION=="add",RUN+="/etc/udev/rules.d/cpfile.sh"

dbpasswd="123"
dbname="IDS"
dbtablename="IDS_alert"

tmp=`grep 'IPADDR' /etc/sysconfig/network-scripts/ifcfg-eth0`
pretext='IPADDR='
name=${tmp#pretext}

filename=`ls /mnt/usb`
if [[ $filename =~ "heartbeat" ]];then
	echo "start duplicate file!"
	b="mysqldump -uroot -p${dbpasswd} ${dbname} ${dbtablename}>/run/media/zyy/${name}.sql"
	touch /mnt/usb/123
	echo $b
	echo "finished!"
fi

3.重启电脑即可


  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
### 回答1: Linux系统通常可以自动识别U盘。当您将U盘插入Linux系统时,系统会自动检测U盘并分配一个设备名,例如`/dev/sdb1`。您可以使用以下命令来查看系统识别的U盘设备名: ``` sudo fdisk -l ``` 如果您的系统无法自动识别U盘,则可能需要手动加载USB存储驱动程序。您可以使用以下命令来加载驱动程序: ``` sudo modprobe usb-storage ``` 如果您仍然无法识别U盘,则可能需要更系统内核或安装相关驱动程序。请参考您的Linux发行版文档或社区支持论坛,获取更多帮助和指导。 ### 回答2: Linux操作系统可以自动识别和挂载U盘。当插入U盘时,Linux自动检测U盘插入并生成一个设备节点。 Linux系统中,U盘通常被命名为/dev/sdX,其中X是一个字母,代表了不同的设备节点。第一个插入U盘通常被识别为/dev/sda,第二个为/dev/sdb,以此类推。通过这个设备节点,我们可以操作U盘。 一旦U盘检测到并生成设备节点,Linux会自动挂载它到文件系统中的一个目录。通常,U盘会被挂载到/mnt目录下的一个目录中。这个目录的名字通常是根据U盘的文件系统来自动命名的。 一旦U盘被成功挂载,你可以通过在文件管理器中导航到相应的目录下来访问和操作U盘中的文件。当你不再需要使用U盘时,可以手动卸载它,或者在拔出U盘之前确保没有正在对U盘中的文件进行任何操作。 总而言之,Linux操作系统可以自动识别和挂载U盘,方便用户在U盘中访问和管理文件。这一功能使得在Linux系统中使用U盘变得更加简单和便捷。 ### 回答3: Linux 操作系统可以通过自动识别 U 盘来方便用户使用,下面是关于此过程的简单说明。 当用户将 U 盘插入计算机 USB 接口时,Linux 操作系统会自动检测插入的设备。操作系统会通过 USB 驱动程序与硬件通信,以便识别 U 盘。具体过程如下: 首先,Linux 内核会检测插入的设备,并加载适当的 USB 驱动程序。这些驱动程序负责与设备进行通信,并控制数据的传输。 一旦驱动程序加载成功,Linux 内核会扫描设备的设备描述符。设备描述符中包含了设备的厂商识别码、产品识别码、序列号等信息,可以帮助系统识别设备。 根据设备描述符中的信息,Linux 操作系统会根据预先定义的规则来确定设备类型,例如 U 盘、硬盘等。一旦识别出设备类型,操作系统会加载对应的文件系统模块。 此时,Linux 系统就能够将 U 盘中的文件和目录以类似于硬盘分区的形式显示给用户。用户可以通过文件管理器等工具浏览和操作 U 盘中的文件。 当用户想要拔出 U 盘时,应先确保没有正在访问 U 盘的程序或文件,然后可以使用操作系统提供的安全移除功能。用户只需右键点击 U 盘图标,选择“安全拔出”选项,操作系统会确保所有数据已写入 U 盘后,才允许用户将 U 盘拔出。 总的来说,Linux 操作系统通过自动识别 U 盘,为用户提供了方便的操作体验和数据传输功能。用户只需将 U 盘插入计算机,系统即可自动识别并将其显示为一个可操作的存储设备。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值