Incron не хочет отрабатывать событие IN_CREATE

Обсуждение настройки и работы сервисов, резервирования, сетевых настроек и вопросов безопасности ОС.

Модераторы: SLEDopit, Модераторы разделов

Аватара пользователя
DjSpike
Сообщения: 2265
Статус: в поисках истины
ОС: Lubuntu 12.04

Incron не хочет отрабатывать событие IN_CREATE

Сообщение DjSpike »

Подскажите почему incron нехочет мониторить создание файла. Если в incrontab прописываю:

Код: Выделить всё

/var/Exchange/report.txt   IN_CREATE  runscript.sh

то ничего не происходит, а когда оставляю так:

Код: Выделить всё

/var/Exchange   IN_CREATE  runscript.sh

То при создании любого файла в этой директории срабатывает скрипт. А мне нужно чтобы скрипт срабатывал только при появлении файла report.txt
AvReg - По для организации Видеонаблюдения на Linux.
ДЭНСИ:КАССА - Рабочее место кассира под Linux.
Терминальные решения под Linux
Консультации по установке 1с+PostgreSQL+Ubuntu.
Спасибо сказали:
Аватара пользователя
kirikaza
Сообщения: 6
ОС: Gentoo GNU/Linux

Re: Incron не хочет отрабатывать событие IN_CREATE

Сообщение kirikaza »

DjSpike писал(а):
17.04.2010 19:11
Подскажите почему incron нехочет мониторить создание файла. Если в incrontab прописываю:

Код: Выделить всё

/var/Exchange/report.txt   IN_CREATE  runscript.sh

то ничего не происходит, а когда оставляю так:

Код: Выделить всё

/var/Exchange   IN_CREATE  runscript.sh

То при создании любого файла в этой директории срабатывает скрипт. А мне нужно чтобы скрипт срабатывал только при появлении файла report.txt


Судя по ману, всё правильно:
IN_CREATE File/directory created in watched directory


Т.е. во втором случае он правильно обнаруживает создание в наблюдаемой (/var/Exchange) директории. А в первом он не находит директорию /var/Exchange/report.txt -- и ничего не обнаруживает внутри неё. Посмотрите/попробуйте IN_ATTRIB и/или IN_OPEN.
Спасибо сказали:
Аватара пользователя
DjSpike
Сообщения: 2265
Статус: в поисках истины
ОС: Lubuntu 12.04

Re: Incron не хочет отрабатывать событие IN_CREATE

Сообщение DjSpike »

Если использовать IN_OPEN то при открытии файла report.txt тоже срабатывает.
AvReg - По для организации Видеонаблюдения на Linux.
ДЭНСИ:КАССА - Рабочее место кассира под Linux.
Терминальные решения под Linux
Консультации по установке 1с+PostgreSQL+Ubuntu.
Спасибо сказали:
Аватара пользователя
DjSpike
Сообщения: 2265
Статус: в поисках истины
ОС: Lubuntu 12.04

Re: Incron не хочет отрабатывать событие IN_CREATE

Сообщение DjSpike »

Вот что пишет в /cron/warning.log

Код: Выделить всё

Apr 18 09:06:09 kassa1 incrond[1821]: access denied on #/var/Exchange/report.txt - events will be discarded silently

AvReg - По для организации Видеонаблюдения на Linux.
ДЭНСИ:КАССА - Рабочее место кассира под Linux.
Терминальные решения под Linux
Консультации по установке 1с+PostgreSQL+Ubuntu.
Спасибо сказали:
Аватара пользователя
DjSpike
Сообщения: 2265
Статус: в поисках истины
ОС: Lubuntu 12.04

Re: Incron не хочет отрабатывать событие IN_CREATE

Сообщение DjSpike »

А кто подскажет как можно реализовать такой вариант: имется директория к примеру /mnt/w1 в которой есть директории s1, s2,s3 ... s10, как можно отследить созадние файла report.txt в каждой из директоии ?
AvReg - По для организации Видеонаблюдения на Linux.
ДЭНСИ:КАССА - Рабочее место кассира под Linux.
Терминальные решения под Linux
Консультации по установке 1с+PostgreSQL+Ubuntu.
Спасибо сказали:
Аватара пользователя
arkhnchul
Сообщения: 2284
Статус: Толчковый инженер
ОС: Debian, Fedora

Re: Incron не хочет отрабатывать событие IN_CREATE

Сообщение arkhnchul »

по IN_CREATE запускать простенький скрипт, проверяющий, что там создалось - report.txt или нет.
Losing is fun!
Спасибо сказали:
Аватара пользователя
DjSpike
Сообщения: 2265
Статус: в поисках истины
ОС: Lubuntu 12.04

Re: Incron не хочет отрабатывать событие IN_CREATE

Сообщение DjSpike »

А можно примерчик... А то слабовато со скриптами...
AvReg - По для организации Видеонаблюдения на Linux.
ДЭНСИ:КАССА - Рабочее место кассира под Linux.
Терминальные решения под Linux
Консультации по установке 1с+PostgreSQL+Ubuntu.
Спасибо сказали:
Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU

Re: Incron не хочет отрабатывать событие IN_CREATE

Сообщение sash-kan »

там, наверно, через параметры или переменные окружения передаётся «виновник торжества».
если нет:
[ -f /путь/к/файлу ] && echo "да, такой файл есть"
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали:
Аватара пользователя
DjSpike
Сообщения: 2265
Статус: в поисках истины
ОС: Lubuntu 12.04

Re: Incron не хочет отрабатывать событие IN_CREATE

Сообщение DjSpike »

sash-kan а можно теперь объяснить по русски... а то что-то я с утра не пойму о чем речь ....
AvReg - По для организации Видеонаблюдения на Linux.
ДЭНСИ:КАССА - Рабочее место кассира под Linux.
Терминальные решения под Linux
Консультации по установке 1с+PostgreSQL+Ubuntu.
Спасибо сказали:
Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU

Re: Incron не хочет отрабатывать событие IN_CREATE

Сообщение sash-kan »

при событии вызывается ваш скрипт.
возможно, ему либо параметром, либо через переменные окружения передаётся имя файла, вызвавшего срабатывание. см. документацию.
если даже ничего не передаётся, я написал пример проверки «существует ли файл такой-то». замените echo на нужные вам действия — и будет вам счастье.
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали:
Аватара пользователя
DjSpike
Сообщения: 2265
Статус: в поисках истины
ОС: Lubuntu 12.04

Re: Incron не хочет отрабатывать событие IN_CREATE

Сообщение DjSpike »

sash-kan писал(а):
12.05.2010 21:46
там, наверно, через параметры или переменные окружения передаётся «виновник торжества».
если нет:
[ -f /путь/к/файлу ] && echo "да, такой файл есть"


Подскажи а как проверить на отсутствие файла, т.е. если нет файла то echo "да, такого файла нет"
AvReg - По для организации Видеонаблюдения на Linux.
ДЭНСИ:КАССА - Рабочее место кассира под Linux.
Терминальные решения под Linux
Консультации по установке 1с+PostgreSQL+Ubuntu.
Спасибо сказали:
Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU

Re: Incron не хочет отрабатывать событие IN_CREATE

Сообщение sash-kan »

[ -f /путь/к/файлу ] || echo "да, такого файла нет"
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали:
Аватара пользователя
DjSpike
Сообщения: 2265
Статус: в поисках истины
ОС: Lubuntu 12.04

Re: Incron не хочет отрабатывать событие IN_CREATE

Сообщение DjSpike »

sash-kan подскажи вот эта конструкция всегда должна срабатываться [ -f /путь/к/файлу ] && echo "да, такой файл есть" или для ее работы нужны какие-то определенные случаи.. Пытаюсь в другом скрипте использовать данную проверку, но почему ругается что нет такой команды. т.е. мне нужно проверить наличие файла /usr/bin/reshka и если он есть то выполнить команду...
AvReg - По для организации Видеонаблюдения на Linux.
ДЭНСИ:КАССА - Рабочее место кассира под Linux.
Терминальные решения под Linux
Консультации по установке 1с+PostgreSQL+Ubuntu.
Спасибо сказали:
Аватара пользователя
arkhnchul
Сообщения: 2284
Статус: Толчковый инженер
ОС: Debian, Fedora

Re: Incron не хочет отрабатывать событие IN_CREATE

Сообщение arkhnchul »

всегда. Полный вывод и другой скрипт в студию.
Losing is fun!
Спасибо сказали:
Аватара пользователя
DjSpike
Сообщения: 2265
Статус: в поисках истины
ОС: Lubuntu 12.04

Re: Incron не хочет отрабатывать событие IN_CREATE

Сообщение DjSpike »

Вот пример :

Код: Выделить всё

 #Если загрузка происходит в Back-Office
  # Проверяем наличе архива с отчетом и распаковываем
  [-f "$local_dir_to/report.txt.gz" ] && gzip -d -f  $local_dir_to/report.txt.gz
  [-f "$local_dir_to/report.flr" ] && rm -f $local_dir_to/report.flr
  #rm -f $local_dir_from/report.txt.gz
  #Запуск 1с и загрузка отчета.
  #run1c.sh


  #Если загрузка происходит в Front-Office
  #Распаковываем файл и создаем флаг для загрузки
  [-f "$local_dir_to/goods.txt.gz" ] && gzip -d -f  $local_dir_to/goods.txt.gz
  [-f /usr/bin/reshka ] &&   touch $local_dir_to/goods.flz



UPD. Разобрался надо обязательно что-бы были пробелы после скобок : [_пробел_-f ]
AvReg - По для организации Видеонаблюдения на Linux.
ДЭНСИ:КАССА - Рабочее место кассира под Linux.
Терминальные решения под Linux
Консультации по установке 1с+PostgreSQL+Ubuntu.
Спасибо сказали:
Аватара пользователя
arkhnchul
Сообщения: 2284
Статус: Толчковый инженер
ОС: Debian, Fedora

Re: Incron не хочет отрабатывать событие IN_CREATE

Сообщение arkhnchul »

ну да. [ - внешняя команда, а не просто скобка)
Losing is fun!
Спасибо сказали: