LINUX.ORG.RU
ФорумAdmin

Отслеживание изменившихся файлов

 


0

1

Здравствуйте!

Я ищу программу (ы), которые позволяют отслеживать изменившиеся (в том числе добавленные и удалённые) файлы после каких-либо изменений в системе. Синхронизировать систему с каким-либо образцом не нужно, про существование rsync я знаю. Интересует именно информация о произошедших изменениях в читаемом виде.

Пока что самый лобовой вариант, пришедший в голову - это сделать что-то типа ls -lR > treeNNN.txt до и после изменений, а потом на полученные файлы натравить diff.

У этого способа несколько недостатков вижу я, все они не фатальны, но малоприятны.

Во-первых, если после изменений файл поменял содержимое, а размер и дата останутся прежними, это не отследится. Ну это не очень принципиально, подобная ситуация, в основном характерна для действий всякой малвари, а меня больше интересует контроль за «добропорядочными» изменениями. К тому же, чтобы этот недостаток преодолеть, надо считать контрольные суммы, а это потребует сильно больших ресурсов. В крайнем случае можно, наверное, наколбасить баш-скрипт с find и md5sum вместо ls, да.

Во-вторых, если в каталоге с изменениями много файлов, одного diff для анализа будет маловато, чтобы понять, какие файлы изменились и где, придётся сличать diff-файлы и сами слепки. Да, diff позволяет задать, сколько строк до и после отличия показывать, и чтобы имя каталога гарантированно попало в вывод, можно задать число побольше. Но тогда и мусору в самом выводе будет намного больше. :(

В третьих, эта методика статична: если я уже после первичного анализа сначала сравнил слепки с учётом времени изменения файлов, а потом захотел повторить анализ, но уже игнорируя это время, diff уже не поможет, надо писать свой анализатор.

Может, есть какие-то готовые инструменты отслеживания/анализа? Желательно, естественно, опенсорсные и умеющие запускаться на любом гнулинуксе.

О, нашёл в похожих темах ссылку на пакет audit, интересно, он ещё живой?

Хотя возможно, постоянновисящийдемон для моей задачи - это оверкилл, мне бы хватило и какого-нибудь анализатора разовых слепков...

EternalNewbie
() автор топика

К тому же, чтобы этот недостаток преодолеть, надо считать контрольные суммы, а это потребует сильно больших ресурсов.

Но вы же понимаете, что если вы учитываете «добропорядочные изменения», а изменилась дата, но не размер, то выхода сравнить только два: либо контрольная сумма, либо — с копией файла. Третьего просто нет, и ресурсы придётся либо выделять, либо ограничиться условием — изменилась дата, значить файл надо бэкапить или что там у вас надо в конечном результате.

vodz ★★★★★
()
Последнее исправление: vodz (всего исправлений: 1)
Ответ на: комментарий от Deathstalker

Это же инструмент для отслеживания изменений в реальном времени в своих программах...

Хотя... я немного погуглил и подумал, что можно запускать inotifywatch на время внесения изменений, и если у неё достаточно человекочитаемый выхлоп - почему бы и нет. Попробую, спасибо.

EternalNewbie
() автор топика
Ответ на: комментарий от Samamy

AIDE - это всё-таки в первую очередь именно про безопасность и борьбу с малварью, для моих целей немножко избыточно.

В общем, пока, наверное, буду выбирать между inotifywatch и велосипедами из find/ls/diff. Всем спасибо.

EternalNewbie
() автор топика

ZFS снепшуты

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.