我正在构建一个备份程序,该程序涉及检测何时插入可用于备份的媒体。我已经研究过检测备份媒体的插入,我将在/media/username
目录上使用文件系统监视服务 inotify。
问题是我已经查看了这个目录,并且有些文件夹不代表任何当前可用的媒体。如何检测当前可用介质(USB、HDD)的列表并注意未来的任何介质?从技术上讲,目录中主动可用的 USB/HDD 文件夹的特点是/media/username
什么?
我正在构建一个备份程序,该程序涉及检测何时插入可用于备份的媒体。我已经研究过检测备份媒体的插入,我将在/media/username
目录上使用文件系统监视服务 inotify。
问题是我已经查看了这个目录,并且有些文件夹不代表任何当前可用的媒体。如何检测当前可用介质(USB、HDD)的列表并注意未来的任何介质?从技术上讲,目录中主动可用的 USB/HDD 文件夹的特点是/media/username
什么?
在 Linux 中,您可以使用内核中的 uevents 并开始嗅探“ACTION”="add" 请检查以下链接:
http://lwn.net/Articles/242046/
和 Netlink 套接字: http ://www.kernel.org/doc/man-pages/online/pages/man7/netlink.7.html
或者使用 Python 的 DBUS/HAL API 绑定http://ubuntuforums.org/archive/index.php/t-904706.html
检查 dmesg 消息并准确查看附加的内容以及挂载到的分区
PS:这是一个如何在 Python 中使用 DBUS 绑定的示例(在 SO 上):
如何在 Python 中侦听 Linux 中的“插入 USB 设备”事件?
更新
我可以通过监视/dev/disks/by-label/
目录很容易地检测到它。