Я розглядав /lib/udev/rules.d
приклади правил, пов’язаних з диском. У системі Ubuntu один файл правил забезпечує змінну середовища, ID_FS_UUID_ENC
яку ви можете використовувати у власних файлах правил.
Таким чином, я помістив файл власного правила під /etc/udev/rules.d/foodevice.rules
. Оскільки він не є префіксом числа, він працює, нарешті, udev. До речі, демон udev спостерігав /etc/udev/rules.d
за змінами, щоб вам не потрібно було перезавантажувати файли.
Зміст /etc/udev/rules.d/foodevice.rules
:
ACTION=="add", KERNEL=="sd*[!0-9]", ENV{ID_FS_UUID_ENC}=="FFFF-AAAF",
RUN+="/usr/bin/sudo -u juser /home/juser/path/script.sh"
(це одне правило - вам слід видалити новий рядок після пункту ENV, оскільки у udev немає механізму продовження рядків)
Програма, запущена udev, блокує демон - таким чином вона не повинна запускатися тривалий час. Я вирішив це через at
- тобто, відірвавшись від процесу, виконуючи справжню роботу:
$ cat /home/juser/path/script.sh
#!/bin/sh
echo ~/path/mountcopystuff.sh | at now