![]() |
Модераторы: powerfox, ZeeLax |
![]() ![]() ![]() |
|
Imple |
|
||||||||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1546 Регистрация: 14.9.2007 Где: Алма-Ата Репутация: 18 Всего: 87 |
Отслеживание изменений в файлах и каталогах
Нередко появляется необходимость выполнить какое-либо действие при изменении произвольноко файла или каталога. Это может быть очень полезно во многих случаях, например:
Inotify - система отслеживания изменений файлов, предоставляемая ядром Linux в замен устаревшей системы dnotify, начиная с версии 2.6.13. К примеру, ее активно использует Beagle - система поиска для Linux. С помощью inotify, можно отслеживать следующие события:
Если опция была отключена, необходимо собрать и переустановить ядро, но это тема для отдельной статьи ![]() Использовать систему можно через Inotify API, подробности о которой можно узнать вызвав соответствующию man-страницу
Либо, что гораздо проще, использовать пакет inotify-tools, последнию версию которого можно получить с http://inotify-tools.sourceforge.net/ Использование inotify-tools Пакет состоит из двух консольных утилит: inotifywait - ждет указанных событий над определенным файлом, и завершается при их удовлетворении. Удобно для использования внутри shell-скриптов. inotifywatch - мониторит определенные события над указаными файлами определенное время, затем выводит статистику по действиям, которые ОС совершала с данным файлом. Это может быть очень полезно при отладке различного ПО. Более подробную информацию по данным утилитам, вы можете получить обратившись к соответствующим man-страницам:
Простой пример, выводящий сообщение при появлении в /var/log/messages слова "error":
Другой пример использования inotifywatch - сканирование каталога на наличе вирусов при появлении в нем новых файлов:
Возможности использования данной системы безграничны, особенно если работать с ней на прямую через Inotify API. Для любителей языков Perl и Python есть модули Linux::Inotify и python-inotify соответсвенно. Это сообщение отредактировал(а) Imple - 15.10.2007, 06:39 -------------------- Не шалю, никого не трогаю, починяю сервер. |
||||||||||
|
|||||||||||
JackYF |
|
|||
![]() полуавантюрист ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 5814 Регистрация: 28.8.2004 Где: страна тысячи озё р Репутация: 1 Всего: 162 |
Отличная статья, самому не раз нужно было делать подобные вещи.
![]() |
|||
|
||||
spin2 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 598 Регистрация: 15.12.2005 Где: Москва-Одесса Репутация: 2 Всего: 31 |
Еще есть tripwire.
-------------------- |
|||
|
||||
ZeeLax |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 4388 Регистрация: 20.8.2006 Где: Алма-Ата Репутация: 7 Всего: 88 |
spin2, у tripware другая цель.
-------------------- Utility is when you have one telephone, luxury is when you have two, opulence is when you have three — and paradise is when you have none. — Doug Larson |
|||
|
||||
bilbobagginz |
|
|||
![]() Naughtius Maximus ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8813 Регистрация: 2.3.2004 Где: Israel Репутация: 34 Всего: 317 |
спасибо, Imple ;-)
+1 -------------------- Я ещё не демон. Я только учусь. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Linux/UNIX: Администрирование" | |
|
Этот форум предназначен для решения вопросов по администрации *n?x-систем, в частности по настройке сложных сетей и обслуживанию серверного оборудования.
За интересные статьи, находки, решения, программы и просто реальную помощь будут ставиться + в репу). В данный момент этот раздел модерируют nerezus, nickless, powerfox, pythonwin, Imple и ZeeLax. Если вы хотите помочь нам, пишите в ПМ и мы обсудим. Спасибо. И use UNIX or die; С уважением, nerezus, nickless, powerfox, pythonwin, Imple, ZeeLax. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Администрирование *NIX систем | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |