我在/etc/udev/rules.d/81-external-disk.rules中有以下内容:
ENV{ID_FS_UUID}=="6826692e-79f4-4423-8467-cef4d5e840c5", RUN{program}+="/bin/mount -o nofail,x-systemd.device-timeout=1 -t ext4 -U 6826692e-79f4-4423-8467-cef4d5e840c5 /backup/external"
Run Code Online (Sandbox Code Playgroud)
运行后:
udevadm control --reload ; udevadm trigger /dev/sdb1
Run Code Online (Sandbox Code Playgroud)
它什么都不做。但是,如果我更改了诸如 /bin/touch /tmp/xyz 之类的挂载命令,它会起作用。
版本:
[root@helsinki rules.d]# rpm -qa | grep udev
libgudev1-219-19.el7_2.12.x86_64
python-pyudev-0.15-7.el7_2.1.noarch
[root@helsinki rules.d]# rpm -qa | grep systemd
systemd-libs-219-19.el7_2.12.x86_64
systemd-219-19.el7_2.12.x86_64
systemd-sysv-219-19.el7_2.12.x86_64
[root@helsinki rules.d]# cat /etc/redhat-release
CentOS Linux release 7.2.1511 (Core)
Run Code Online (Sandbox Code Playgroud) 我创建了一个 udev 规则来将我的 USB 驱动器与我的文档文件夹同步,但它似乎不起作用。
95-USB-自动同步规则:
ACTION=="add", ATTRS{idVendor}=="0930", ATTRS{idProduct}=="1408", RUN+="/home/riccardo/Documents/Scripts/sync-riccardo-usb.sh"
Run Code Online (Sandbox Code Playgroud)
/home/riccardo/Documents/Scripts/sync-riccardo-usb.sh:
#!/bin/bash
rsync -a --delete '/home/riccardo/Documents/Development/' '/run/media/riccardo/Riccardo/Documents/Development' --exclude='*/node_modules' >> /home/riccardo/Documents/Scripts/log.txt
rsync -a --delete '/home/riccardo/Documents/KiCAD/' '/run/media/riccardo/Riccardo/Documents/KiCAD' >> /home/riccardo/Documents/Scripts/log.txt
rsync -a --delete '/home/riccardo/Documents/Personal Files/' '/run/media/riccardo/Riccardo/Documents/Personal Files' >> /home/riccardo/Documents/Scripts/log.txt
rsync -a --delete '/home/riccardo/Documents/Scripts/' '/run/media/riccardo/Riccardo/Documents/Scripts' >> /home/riccardo/Documents/Scripts/log.txt
Run Code Online (Sandbox Code Playgroud)
我添加了“>> /home/riccardo/Documents/Scripts/log.txt”部分来检查脚本是否实际执行。但 log.txt 文件仍为空白。
东芝 USB 驱动器 Udev 信息:
looking at device '/devices/pci0000:00/0000:00:14.0/usb4/4-2':
KERNEL=="4-2"
SUBSYSTEM=="usb"
DRIVER=="usb"
ATTR{authorized}=="1"
ATTR{avoid_reset_quirk}=="0"
ATTR{bConfigurationValue}=="1"
ATTR{bDeviceClass}=="00"
ATTR{bDeviceProtocol}=="00"
ATTR{bDeviceSubClass}=="00"
ATTR{bMaxPacketSize0}=="9"
ATTR{bMaxPower}=="296mA"
ATTR{bNumConfigurations}=="1"
ATTR{bNumInterfaces}==" 1"
ATTR{bcdDevice}=="0001"
ATTR{bmAttributes}=="80"
ATTR{busnum}=="4"
ATTR{configuration}==""
ATTR{devnum}=="2"
ATTR{devpath}=="2"
ATTR{idProduct}=="1408" …
Run Code Online (Sandbox Code Playgroud)