0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Linuxでファイル入出力のログを取りたい

Last updated at Posted at 2020-03-09

#やりたいこと
ユーザがPCとUSBメモリやSDカードをつないでデータを出し入れした時の
ログをとりたい。また、勝手にユーザが監視プロセスを落とせないようにしたい。
#インストール
inotify-toolsをインストール

sudo apt-get install inotify-tools

#試してみる

qiita@ubuntu:~$ inotifywait -m .&

mオプションをつけないと、1回出力するとコマンドが終了するとのこと。

qiita@ubuntu:~$ ls
Desktop  Documents  Downloads  Music  
./ OPEN,ISDIR
./ ACCESS,ISDIR
./ CLOSE_NOWRITE,CLOSE,ISDIR
qiita@ubuntu:~$
qiita@ubuntu:~$

lsで監視しているディレクトリにアクセスすると何か表示されている。

サブディレクトリはどうだろう

qiita@ubuntu:~$ mkdir hoge
./ CREATE,ISDIR hoge
qiita@ubuntu:~$ cd hoge
qiita@ubuntu:~/hoge$ ls
./ OPEN,ISDIR hoge
./ ACCESS,ISDIR hoge
./ ACCESS,ISDIR hoge
./ CLOSE_NOWRITE,CLOSE,ISDIR hoge
qiita@ubuntu:~/hoge$ mkdir hoge
qiita@ubuntu:~/hoge$ cd hoge
qiita@ubuntu:~/hoge/hoge$ ls
qiita@ubuntu:~/hoge/hoge$ 

監視されない
rオプションでサブディレクトリも監視されるようだ

qiita@ubuntu:~$ inotifywait -mr . &
[1] 2760
qiita@ubuntu:~$ Setting up watches.  Beware: since -r was given,
 this may take a while!
Watches established.

qiita@ubuntu:~$ cd hoge
qiita@ubuntu:~/hoge$ cd hoge
qiita@ubuntu:~/hoge/hoge$ ls
./hoge/ OPEN,ISDIR hoge
./hoge/hoge/ OPEN,ISDIR 
./hoge/ ACCESS,ISDIR hoge
./hoge/hoge/ ACCESS,ISDIR 
./hoge/ ACCESS,ISDIR hoge
./hoge/hoge/ ACCESS,ISDIR 
./hoge/ CLOSE_NOWRITE,CLOSE,ISDIR hoge
./hoge/hoge/ CLOSE_NOWRITE,CLOSE,ISDIR 
:%

ちなみに、作業中、firefoxを動作させていたのだけれど、

.cache/mozilla/firefox/
配下に書き込みがfirefoxから行われるようで、
大量のログがnotifywaitから書き出されていました。
ユーザを変えても、アクセスするとログは出力されました。

もし、ルートディレクトリを監視するとどうなるか?

qiita@ubuntu:~/hoge/hoge$ inotifywait -mr / &
[1] 2884
qiita@ubuntu:~/hoge/hoge$ Setting up watches.  
Beware: since -r was given, this may take a while!

qiita@ubuntu:~/hoge/hoge$ Failed to watch /; 
upper limit on inotify watches reached!
Please increase the amount of inotify watches allowed per user
 via `/proc/sys/fs/inotify/max_user_watches'.

大量のディレクトリは駄目なようです。

#では?
/dev配下を監視して、USBメモリのマウントを監視
マウントされたディレクトリへの読み書きを監視
で所要の目的は達成?
あとはデーモン化か?

#参考記事
inotify-toolsでファイルやディレクトリを監視する
[Linux] inotifywaitを使ってファイル更新時に任意のコマンドを実行する

#ストレージ接続の監視方法
/dev配下を監視しておけばいいのかな・・・

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?