USBがマウントされるたびにスクリプトを実行する方法

USBがマウントされるたびにスクリプトを実行する方法

dfを使用して、デバイス上のすべてのマウントポイントをテキストファイルに書き込むスクリプトを使用します。デバイス(特にUSB)がマウントされるたびにどのようにスクリプトを実行できますか?

実行するスクリプト:

#!/bin/bash
# save all mountpoints to textfile
df -h /dev/sd*| grep /dev/sd| awk '{print $6}' > /home/<user>/FirstTextfile
# do something
while read line 
do  
echo "mountpoint:${line%/*}/ devicename:${line##*/}}" >> home/<user>/AnotherTextfile

Debian 8.0(提示)、Linux 3.16.0、GNOME 3.14。

ベストアンサー1

Linuxには、デバイスがマウントされたときにすべての場合に実行されるフックはありません。

ウデブシステムに表示されるようにデバイスを処理します。この時点でコマンドを実行できます(はい)。 udevで実行できますが、mountこれは次のとおりではありません。Uディスク、特に以下を使用するシステムでは機能しません。システムUdiskで実行されたマウントを監視できます。、コマンドラインでこれを行う方法がわかりません。一つあるGentoo WikiのPythonの例

任意のシステムコールを監視するためのツールがあります。監査システムmount次のコマンドは、システムコールが返されるたびにログエントリをトリガします。

auditctl -a exit,always -S mount

以下を実行して、監査イベントでプログラムをトリガーできます。オディシフしかし、これはそれほど便利ではありません。監査イベントを解析するプラグインを作成する必要があります。

おすすめ記事