Nedávno napsal Martin Pitt konzolovou utilitu fatrace pro využití fanotify z shellu a poslal ji i do repozitáře Ubuntu 12.04...
Instalace je klasická:
sudo apt-get install fatrace
Fatrace nemá mnoho funkcí, ale základní dovedností je vypisovat události v celém souborovém systému, přičemž vynechává sytémy virtuální, které nesouvisí s aktivitou záznamových zařízení. Seznam možností najdete v helpu:
fatrace --help
Pokud spustíte fatrace bez parametrů (musíte s právy roota), začne vypisovat všechny události v souborovém systému a struktura jednotlivých řádků je následující:
proces(PID): typ události cesta/k/souboru (pokud není zjištěna, pak číslo inodu)
opera(3562): W /home/gdh/.opera/sessions/oprWfpRkc
Typy událostí zahrnují:
O - Open
R - Read
W - Write
C - Close
přičemž můžete dostat i kombinace jako RO, RCO, CW, CWO . Výstup můžete přepínačem -t obohatit o časové razítko a přepínačem -o jej přesměrovat do souboru.
Přepínačem -s můžete omezit dobu sbírání dat na určitý počet sekund.
sudo fatrace -s 30 -o soubor
Po třiceti sekundách se můžete podívat do souboru s výstupem a dále s ním pracovat.
Přepínačem -p pak můžete vyřadit aktivity konkrétních procesů.
fatrace neumožňuje specifikovat rozsah sledování přesněji, než na konkrétní partition/mount na které se nachází aktuální pracovní adresář (přepínč -c), ale filtrovat výstup můžete externě:
sudo fatrace | egrep ": [^ ]*(O|W|C)[^ ]*/cesta/k/adresáři/souboru"
V tomto příkaze filtruji pouze události obsahující otevření, zápis a zavření souboru, cestu můžete vynechat, případně dopsat cestu ke konkrétnímu adresáři, nebo přímo souboru.
Oproti nástrojům založeným na inotify neumí fatrace nic moc, ale zas můžete najednou obsáhnout celý souborový systém, tedy krom těch virtuálních, a nejste omezeni jen
Odkazy k tématu:
http://www.piware.de/tag/fanotify/
http://lwn.net/Articles/339399/
http://lwn.net/Articles/360955/
Tak to je paráda, to jsem neznal. Používal jsem na to různé hacky přes debugfs, příklad
OdpovědětVymazat[code]
echo 1 > /proc/sys/vm/block_dump
# měřím, měříš, měříme, pak zrušit pomocí
echo 0 > /proc/sys/vm/block_dump
# pak výstup
f=`mktemp`; echo -ne "open /dev/sda5\nncheck " > $f; (grep 'dirtied inode.*sda' /var/log/syslog | sed 's/^.*dirtied inode //' | cut -d' ' -f1 | sort -u) | tr '\n' ' ' >> $f; echo >> $f; debugfs -f $f
[/code]
ale "fat race" (američani?) je mnohem lepší, díky
arrange
Já se k tomu pojmu poprvé dostal při studiu Nepomuku, kde se k fanotify upínaly jisté naděje ohledně indexace souborového systému. Díky za ukázku, tohle jsem taky neznal.
OdpovědětVymazatKdyž jsem fatrace zadal do googlu, překvapilo mě, že mi nabídl matrace, do té doby mě nenapadlo to číst česky :)