Как делают меня чтение-записи системы файлов регистрации именем файла в Linux?

Я ищу простой метод, который зарегистрирует операции файловой системы. Это должно отобразить название файла, получаемого доступ или измененного.

Я знаком с powertop, и кажется, что это работает до степени, в так, что это показывает пользовательские файлы, которые были записаны в. Есть ли любые другие утилиты, которые поддерживают эту функцию.

Некоторые мои результаты:

powertop: лучше всего для входа доступа для записи, но более сфокусированный на активности ЦП
iotop: выставочный доступ к диску реального времени процессом, но не имя файла
lsof: показывает открытые файлы для каждого процесса, но не оперативный доступ к файлу
iostat: показывает оперативную производительность ввода-вывода диска/массивов, но не указывает на файл или процесс

17
задан 29.12.2010, 03:33

2 ответа

До сих пор iotop лучшее полное решение. Следующая команда дает Вам вывод в реальном времени всех процессов с помощью диска.

iotop -bktoqqq -d .5

where: -b     is batch mode
       -k     is kilobytes/s
       -t     adds timestamp
       -o     only show processes or threads actually doing I/O
       -qqq   removes output headers
       -d .5  updates every .5 seconds

Evenutaly Вы заметите, что процесс будет получать доступ к диску. Простой способ заняться расследованиями состоит в том, чтобы остановить процесс и запустить его с strace. Например:

sudo strace -f nmbd -D

Это покажет Вам syscalls доступа к файловой системе.

Другая опция является inotify (7), где много дистрибутивов обеспечивают "inotify-инструменты", таким образом, можно наблюдать путь через

inotifywait -r -mpath_you_want_to_watch

17
ответ дан 07.12.2019, 10:37

Для входа (вместо того, чтобы контролировать) необходимо рассмотреть использование демона аудита Linux, представленного в ядре 2.6.

2
ответ дан 07.12.2019, 10:37

Теги

Похожие вопросы