2013-11-05 50 views
1

我正在构建一个备份程序,它涉及检测何时插入可用于备份的介质。我研究过检测备份媒体的插入,并且我将在/media/username目录中使用文件系统监视服务inotify。如何使用Python在Ubuntu/Linux上检测仅插入USB和硬盘驱动器?

的问题是,我看着这个目录,并有不表示任何现有的媒体文件夹。我如何检测当前可用媒体(USB,HDD)的列表并观看未来的媒体?更具体地说,/media/username目录中可用的USB/HDD文件夹有哪些特征?

回答

0

我可以通过监控/dev/disks/by-label/目录,而容易检测到它。

2
  1. 在Linux中,你可以使用从内核uevents并开始嗅探 “ACTION”= “添加” 请查看以下链接:

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

    和网络连接套接字: 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:下面是一个例子(SO)的如何使用DBUS结合做在Python:

How can I listen for 'usb device inserted' events in Linux, in Python?

UPDATE

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

+0

是的,我知道如何检测插入,但我怎么知道它是专门** USB或HDD **? – liamzebedee

相关问题