Ein paar Tricks rund um Linux

Ich habe lange nichts geschrieben, doch nun gehts wieder voran! Diesmal gleich mit ein paar Tricks rund im Linux, die vielleicht nicht jeder kennt.

Wie sehe ich, wer oder was auf die Festplatte schreibt?

Schnell und einfach hilft es, per sysctl den Kernel anzuweisen, alle aktivitäten zu protokollieren. Je nach Auslastung des Servers kann das natürlich innerhalb kürzester Zeit die entsprechenden Logfiles zumüllen, also vorsicht! Der nötige Befehl lautet: sysctl vm.block_dump=1 Das ganze kann dann z.B. so aussehen:

mysqld(9336): dirtied inode 17911863 (sessions.frm) on sdb1
mysqld(9336): dirtied inode 17911864 (sessions.MYI) on sdb1
mysqld(9336): dirtied inode 17911865 (sessions.MYD) on sdb1
mysqld(9336): dirtied inode 17911872 (user.frm) on sdb1
mysqld(9336): dirtied inode 17911873 (user.MYI) on sdb1
mysqld(9336): dirtied inode 17911874 (user.MYD) on sdb1

Ein weiterer Freund hierbei ist fuser. Das Werkzeug kann unter anderem auch alle Prozesse beenden, welche z.B. das Dateisystem auf /home nutzen .. und es kann ebenfalls anzeigen, was im System passiert.

fuser -muv /dev/sdb1

Dieser Befehl zeigt mir an, was im Moment des Aufrufs auf der Platte sdb und Partition 1 passiert, z.B.:

/dev/sdb1:      mysql   1141 F.c.. (mysql)mysqld
                     nobody  6448 F…m (nobody)httpd
                     nobody  8278 F…m (nobody)httpd
                     nobody  8545 F…m (nobody)httpd
                     qscand  11449 F.c.. (qscand)