2

我正在构建一个备份程序,该程序涉及检测何时插入可用于备份的媒体。我已经研究过检测备份媒体的插入,我将在/media/username目录上使用文件系统监视服务 inotify。

问题是我已经查看了这个目录,并且有些文件夹不代表任何当前可用的媒体。如何检测当前可用介质(USB、HDD)的列表并注意未来的任何介质?从技术上讲,目录中主动可用的 USB/HDD 文件夹的特点是/media/username什么?

4

2 回答 2

2
  1. 在 Linux 中,您可以使用内核中的 uevents 并开始嗅探“ACTION”="add" 请检查以下链接:

    http://lwn.net/Articles/242046/

    和 Netlink 套接字: http ://www.kernel.org/doc/man-pages/online/pages/man7/netlink.7.html

  2. 或者使用 Python 的 DBUS/HAL API 绑定http://ubuntuforums.org/archive/index.php/t-904706.html

  3. 检查 dmesg 消息并准确查看附加的内容以及挂载到的分区

PS:这是一个如何在 Python 中使用 DBUS 绑定的示例(在 SO 上):

如何在 Python 中侦听 Linux 中的“插入 USB 设备”事件?

更新

如何检查路径是否已挂载: https ://serverfault.com/questions/143084/how-can-i-check-whether-a-volume-is-mounted-where-it-is-supposed-to-be -使用-pyt

于 2013-11-05T08:22:20.163 回答
1

我可以通过监视/dev/disks/by-label/目录很容易地检测到它。

于 2013-11-09T05:19:42.793 回答