我有一组用于异地备份的硬盘驱动器。重新插入其中一个磁盘时需要执行几个步骤,我已将这些步骤整合到一个简单的 bash 脚本中。我想在其中一个磁盘热插拔时自动执行脚本。
理想情况下,我会/dev/disk/by-id/...
为应该触发脚本的磁盘提供一个磁盘 ID ( ) 列表;当插入其中一个时,脚本将运行,特定磁盘的 ID 将作为参数传入。作为替代方案,每个磁盘都有一个脚本副本并为各自的磁盘运行每个脚本就足够了。
我正在运行 Ubuntu Server 14.04 LTS,并且一直在浏览与 USB 驱动器相关的类似问题,并且正在研究udev
和hotplug
作为我可能需要使用的两个系统,但希望有人能够指出我特定的满足我需求的简洁解决方案。
我通常编写 udev 规则的方法是找到与我需要的内容相似的内容,
/lib/udev
并通过 google 搜索或快速查看手册页对其进行补充。对于您的情况,大多数 mojo 都可以在
/lib/udev/rules.d/60-persistent-storage.rules
. 我想出了这个规则:您需要为每个驱动器设置一个规则,并且您的脚本接收驱动器序列号作为参数。
我在这里只使用驱动器序列号,这应该足够了,但是您可以重建整个 ID,如
/dev/disk/by-id
使用此字符串所示:要检查驱动器的序列号,您可以使用: