linux – 通过USB连接设备时执行命令

linux – 通过USB连接设备时执行命令,第1张

概述我目前有一个系统可以将我的 Linux服务器备份到/ media / usb上的USB存储设备上.一切正常.但是,我实际上有2个驱动器,我们每天尝试交换. 是否有插入USB设备的日志记录以及使用sendmail或类似的方式向管理员发送电子邮件(如果驱动器未被交换3天)? 你可以解析/ var / log / messages,但我不会. 当你连接/断开设备时,我会编写一个运行脚本的udev规则.有 我目前有一个系统可以将我的 Linux服务器备份到/ media / usb上的USB存储设备上.一切正常.但是,我实际上有2个驱动器,我们每天尝试交换.

是否有插入USB设备的日志记录以及使用sendmail或类似的方式向管理员发送电子邮件(如果驱动器未被交换3天)?

解决方法 你可以解析/ var / log / messages,但我不会.

当你连接/断开设备时,我会编写一个运行脚本的udev规则.有关它的更多信息here

我已经复制了重点,以防网站出现故障:

Rule files are stored in the /etc/udev/rules.d/ directory.

There’s some advice from the README in that directory on how to name
rule files:

files should be named xx-descriptive-name.rules,the xx should be
chosen first according to the following sequence points:

< 60 most user rules; if you want to prevent an assignment being
overrIDen by default rules,use the := operator.

these cannot access persistent information such as that from vol_ID

< 70 rules that run helpers such as vol_ID to populate the udev db

< 90 rules that run other programs (often using information in the
udev db)

=90 rules that should run last


udev规则的第一部分是匹配键.我们将使用
KERNEL从链的最顶端进入以及IDvendor,
IDProduct,以及来自设备特定信息的串行属性.
这将肯定地识别这个特定的拇指驱动器并忽略
所有其他人.内核参数使用问号作为通配符
如果我们的驱动器安装在不同的节点上(即:sda1,sdb1,
sdc1等)它仍然可以被识别出来.

KERNEL=="sd?1",ATTRS{IDvendor}=="13fe",ATTRS{IDProduct}=="1f00",ATTRS{serial}=="50E6920B000AE8"

Now that we have the keys necessary to
IDentify the particular harDWare we’re looking for we can add
assignment arguments. In our case we added two. The first creates a
symlink to this device insIDe of the /dev/ directory. The second
executes a script in our home directory:

SYMlink+="Hackaday",RUN+="/home/mike/notify-plugin.sh 'HackaDay Thumbdrive:' 'Connected as: $KERNEL'"

Here is the final rule assembled
into one line:

KERNEL=="sd?1",ATTRS{serial}=="50E6920B000AE8",SYMlink+="Hackaday",RUN+="/home/mike/notify-plugin.sh 'HackaDay Thumbdrive:' 'Connected as: $KERNEL'"

We added this as the only line in our rule file and then
restarted udev using these commands:

sudo nano /etc/udev/rules.d/81-thumbdrive.rules sudo /etc/init.d/udev restart
总结

以上是内存溢出为你收集整理的linux – 通过USB连接设备时执行命令全部内容,希望文章能够帮你解决linux – 通过USB连接设备时执行命令所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/1034225.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-24
下一篇 2022-05-24

发表评论

登录后才能评论

评论列表(0条)

保存