Поэтому я пытаюсь создать правило udev для автоматического монтирования раздела exfat накопителей в / media / offsite. Моя цель - автоматически смонтировать диск в / media / offsite, а затем запустить скрипт .sh для копирования файлов. Я читал много руководств и многому научился, но я все еще застреваю. Многие из руководств очень устарели и относятся к USB-накопителям, где у меня есть пристыкованный накопитель.
Чтобы увидеть, сработает ли правило, я создал это правило в /etc/udev/rules.d/80-external-disk.rules:
ACTION=="add", ENV{DEVTYPE}=="partition", ENV{ID_FS_UUID}=="5359-818E", RUN+="/bin/mount -t exfat -U $env{ID_FS_UUID}"
Я перезагрузил правила, перезагрузил сервер, несколько других вещей, и оказалось, что правило не стреляет.
udevadm test $(udevadm info -q path -n /dev/sdb) 2>&1 | grep /etc/udev/rules.d
Это приводит только к следующему:
parse_file: reading '/etc/udev/rules.d/70-persistent-cd.rules' as rules file
parse_file: reading '/etc/udev/rules.d/70-persistent-net.rules' as rules file
parse_file: reading '/etc/udev/rules.d/80-external-disk.rules' as rules file
Я думаю, что UUID принадлежит разделу, а не диску. С разделом, являющимся exfat, может ли UDEV даже увидеть этот UUID?
mount
не позволяется в последних выпусках udev. Лучше для движения с udisks, если Вы используете Gnome/единица или какую-либо другую альтернативу для другого DE.
man udev
РАБОТАЕТ
Примечание, которое запущение программ, которые получают доступ к сети или монтируют/размонтируют файловые системы, не позволяется в правилах udev, из-за песочницы по умолчанию, которая осуществляется на systemd-udevd.service.