2

バックアップに使用できるメディアが挿入されたことを検出するバックアップ プログラムを作成しています。バックアップ メディアの挿入を検出する方法を調べたので、ディレクトリでファイル システム監視サービス inotify を使用します/media/username

問題は、このディレクトリを調べたところ、現在利用可能なメディアを表していないフォルダーがあることです。現在利用可能なメディア (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: DBUS バインディングを使用して Python でそれを行う方法の例 (SO 上) は次のとおりです。

Linux や Python で「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 に答える