The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

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

"Раздел полезных советов: Выполнение действия при изменении и..."  +/
Сообщение от 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:
Обсуждается: https://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 - нормально.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

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

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

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

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

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

7. "Выполнение действия при изменении или создании файла в Linux"  +/
Сообщение от жадный баклажан email on 07-Авг-13, 16:57 
Почему параметр -d не работает? Или что я не так делаю?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

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

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Спонсоры:
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2022 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру