当我自动将一个目录和它的内容连接到我的笔记本电脑时,我想将它复制到我的外部 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 硬盘时,没有任何反应。:(
关于可能出什么问题的任何想法?
谢谢!
插入 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] 删除。
我来说两句