The OpenNET Project
 
Поиск (ключи):    ПРОГРАММЫ СТАТЬИ СОВЕТЫ ФОРУМ
  WIKI НОВОСТИ (+) MAN'ы ДОКУМЕНТАЦИЯ

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Раздел полезных советов: Выполнение действия при изменении и..."
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Разговоры, обсуждение новостей (Public)
Изначальное сообщение [ Отслеживать ]

"Раздел полезных советов: Выполнение действия при изменении и..."  +/
Сообщение от auto_tips (ok) on 28-Авг-09, 20:24 
Утилита inotifywait из состава пакета inotify-tools позволяет организовать выполнение
определенного действия в shell скрипте, при изменении, создании, удалении, перемещении и выполнении
других операция с файлами.

Выполняем программу при появлении нового файла в директории

   inotifywait -e create /home/ftp/incoming --format "%w%f" -q -m| while read file; do
     clamscan $file
  done

Для отслеживания изменений вместо create можно использовать modify, удаления - delete, перемещения - move и т.п.

URL:
Обсуждается: http://www.opennet.ru/tips/info/2149.shtml

Высказать мнение | Ответить | Правка | Cообщить модератору

 Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Выполнение действия при изменении или создании файла в Linux"  +/
Сообщение от pavlinux (ok) on 28-Авг-09, 20:24 
На одной консольке делаю
# inotifywait -e modify /tmp --format "%w%f" -q -m | while read file; do clamscan $file; done;

на другой
# > /tmp/test
# dd if=/dev/urandom of=/tmp/test count=1024 bs=100

clamav проверяет этот файл бесконечно.

Далее:

# dd if=/dev/urandom of=/tmp/test1 count=1024 bs=100
# dd if=/dev/urandom of=/tmp/test2 count=1024 bs=100
# dd if=/dev/urandom of=/tmp/test3 count=1024 bs=100

Ни один из выше описаных не проверится, так как безконечный цикл на самом первом.


inotifywait -e create - нормально.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "Выполнение действия при изменении или создании файла в Linux"  +/
Сообщение от vkshlu on 29-Авг-09, 18:16 
меняется atime на файле при каждой проверке кламом ?
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

3. "Выполнение действия при изменении или создании файла в Linux"  +/
Сообщение от pavlinux (ok) on 29-Авг-09, 19:10 
неа! :-|

Тока так


x=0; inotifywait -e modify /tmp --format "%w%f" -q -m | while read i; do if [ "$x" -eq 0 ]; then clamscan $i; ((x++)); fi; done;


Забавные результаты:

# x=0; inotifywait -e modify /tmp --format "%w%f" -q -m | while read i; do ((x++)); echo "COUNT = $x "; done;  
# dd if=/dev/urandom of=/tmp/test count=1 bs=1

выдаёт
COUNT = 1
COUNT = 2

# dd if=/dev/urandom of=/tmp/test count=1 bs=100
COUNT = 1
COUNT = 2

# dd if=/dev/urandom of=/tmp/test count=100 bs=1
COUNT = 1
COUNT = 2
...
...
COUNT = 100
COUNT = 101

# dd if=/dev/urandom of=/tmp/test count=100 bs=1
COUNT = 1
COUNT = 2
...
...
COUNT = 33
COUNT = 34


Ну в общем ясно, dd использует write() count раз, а COUNT - это сколько inotifywait успеет поймать, и ждет пока тело while отработает.

Так что, лучше наверно использовать inotifywait -e close

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

4. "Выполнение действия при изменении или создании файла в Linux"  +/
Сообщение от Добрый Дохтур on 30-Авг-09, 21:31 
ох, лисапедисты... есть же icron(inotify cron)
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

5. "Выполнение действия при изменении или создании файла в Linux"  +/
Сообщение от pavlinux (ok) on 31-Авг-09, 15:09 
А еще был SGI FAM.
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

6. "Выполнение действия при изменении или создании файла в Linux"  +/
Сообщение от bliss on 01-Сен-09, 23:19 
Есть перловая утила -- iwatch. Мне в ней неудобен конфиг -- в xml файле. На мой взгляд, xml для такого перебор. Начал переписывать под свои нужды, для поддержки самбы.
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема


АКЦИЯ! ПОДПИШИСЬ на журнал Linux Format до 31 января 2012 года и выиграй СУПЕРПРИЗ!

Журнал "Linux Format" (Линукс Формат)- Единственный в России и странах СНГ журнал на русском языке, посвящённый Linux и свободному ПО. Журнал для IT-директоров, IT-менеджеров, программистов, системных администраторов, учителей школ и преподавателей ВУЗов и всех пользователей ПК. В каждом выпуске: Новости индустрии OpenSource, обзоры новинок свободного ПО, обучающие и методические статьи.

Каждый, кто оформит подписку, получает бонус- объёмные наклейки на системный блок и подарки: с одним из первых выпусков журнала в 2012 году- диск с архивом номеров за 2005-2011 г.г. и ежемесячно электронную версию журнала в pdf-формате.

Подробнее о проведении акции вы можете прочитать на странице сайта.


  Закладки на сайте
  Проследить за страницей
Created 1996-2012 by Maxim Chirkov  
ДобавитьРекламаВебмастеруГИД  
RUNNet TopList