web-dev-qa-db-ja.com

USBデバイスがマウント解除される直前にbashスクリプトを実行しますか?

Linux(私の場合はUbuntu)で、USBキーがアンマウントされる直前にbashスクリプトを実行するようにシステムを構成することは可能ですか?

ペンドライブにポータブルパーソナルウィキがあり、マシンからマウントを解除するたびに、そのコンテンツが自動的にAmazonS3にバックアップされるようにしたいと思います。

このようなことは可能ですか?マウント解除されるデバイスがバックアップするデバイスであるかどうかをスクリプトで簡単に識別できるため、マウント解除のたびにスクリプトが実行されるかどうかは関係ありません。

アドバイスをよろしくお願いします。

リッチ

4
Rich

スクリプトを実行する一般的な方法はないと思いますbeforeデバイスがマウント解除されます。

デバイスのマウントを解除した後にバックアップスクリプトを実行することもできますが、非常に面倒です。デバイスを再マウントし、バックアップを実行し、(スクリプトを再トリガーせずに)デバイスを再度マウント解除して、最後にユーザーに通知するように手配する必要があります。デバイスのプラグを抜くことができます。

アンマウントの前にスクリプトを実行するには、/bin/umountの代わりに独自のアンマウントスクリプトを呼び出します。必要かどうかに関係なく、/bin/umountを呼び出すGUIを処理する場合は、umount実行可能ファイルを迂回させて、スクリプトをその場所に配置できます。

dpkg-divert --local --rename --divert /bin/umount.real /bin/umount

おそらく udev を使用できますが、トリガーしたプロセスでローカルにコピーを作成して終了し、別の incron を使用することもできます。 udevによってトリガーされる長時間実行プロセスは必要ないため、プロセスはAmazonS3にアップロードします。

inotify を見てください。カスタムスクリプトでハンドルを使用してアンマウントイベントをキャッチできるはずです。

0
evnu

私が考えることができる最善の方法は、最初にバックアップを作成し、次にドライブをアンマウントするスクリプトを作成することです。純粋にアンマウントするのではなく、毎回使用するだけです。

0
laukaus