使用 USB 设备运行脚本

法比奥

当我自动将一个目录和它的内容连接到我的笔记本电脑时,我想将它复制到我的外部 USB 硬盘上。

所以,我创建了一个名为00-usb-backup.rules/etc/udev/rules.d与此内容:

ACTION=="add", ATTRS{idVendor}=="0480", ATTRS{idProduct}=="a208", RUN+="/home/fabio/bin/backup"

backup脚本有权作为程序运行。它的内容是:

#! /bin/bash
cp -r /home/fabio/Ads/ /media/fabio/BACKUP/teste/

按照另一个线程的答案,我visudo在最后一行编辑并添加了以下内容:

fabio ALL=(ALL) NOPASSWD: /home/fabio/bin/backup

但是当我连接 USB 硬盘时,没有任何反应。:(

关于可能出什么问题的任何想法?

谢谢!

bac0n

插入 USB 驱动器时执行脚本。

RUN{type}:
这只能用于运行时间非常短的前台任务。长时间运行事件进程可能会阻止此设备或从属设备的所有进一步事件。启动守护进程或其他长时间运行的进程不适用于 udev;在事件处理完成后,分叉的进程,无论是否分离,都将被无条件地杀死。请注意,在 udev 规则中不允许运行访问网络或挂载/卸载文件系统的程序,因为 systemd-udevd.service 上强制使用默认沙箱。

/etc/udev/rules.d/90-usb-backup.rules:

ACTION=="add", SUBSYSTEM=="block", \
ATTRS{idVendor}=="0480", ATTRS{idProduct}=="a208", \
ENV{DEVTYPE}=="partition", RUN+="/bin/sh -c '/home/fabio/bin/backup.sh'"

/home/fabio/bin/backup.sh:(
确保您的脚本设置了执行位;chmod +x 脚本)

#!bin/bash

if [[ -b $DEVNAME ]] && \
   mount $DEVNAME /home/fabio/Ads/
then
   cp -a /home/fabio/Ads/ /media/fabio/BACKUP/teste/
fi

这不会在系统上安装驱动器,只是在箱内

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在连接USB设备时运行脚本

来自分类Dev

在连接USB设备时运行脚本

来自分类Dev

使用udev规则在USB插入上运行脚本

来自分类Dev

插入或拔下USB设备后自动运行脚本

来自分类Dev

插入或拔下USB设备后自动运行脚本

来自分类Dev

自动挂载USB并运行脚本

来自分类Dev

如何通过 Windows 中的“运行”框查找 USB 驱动器号并使用它来运行脚本

来自分类Dev

使用Bash运行脚本

来自分类Dev

使用条件从Powershell脚本运行脚本

来自分类Dev

使用变量从脚本运行脚本

来自分类Dev

插入 USB 时,Ubuntu 以用户身份运行脚本

来自分类Dev

使用xCode Server Bot运行脚本

来自分类Dev

使用Swift的Xcode运行脚本

来自分类Dev

使用整数参数运行脚本

来自分类Dev

使用随机参数多次运行脚本

来自分类Dev

使用组策略运行脚本

来自分类Dev

无法使用udev规则运行脚本

来自分类Dev

使用nohup运行脚本时出错

来自分类Dev

使用GroovyShell从Java代码运行脚本

来自分类Dev

如何使用systemd连续运行脚本

来自分类Dev

如何使用 bindkey 运行脚本?

来自分类Dev

使用 ansible 变量运行脚本模块

来自分类Dev

运行脚本时使用多处理

来自分类Dev

使用IOKit与USB设备通信

来自分类Dev

使用aws emr script-runner运行脚本与从bash运行脚本有何不同?

来自分类Dev

如何通过使用其他脚本停止运行脚本

来自分类Dev

使用at命令运行脚本无法完全正常运行

来自分类Dev

每次插入 USB 设备时如何运行 Bash 脚本?

来自分类Dev

运行 bash 脚本以在 USB 设备挂载后自动从 USB 设备复制内容