Мониторинг Файлов (Ай нид хелп!)
Модератор: Модераторы разделов
-
am3k
- Сообщения: 33
Мониторинг Файлов
Господа, срочно нужна помощь!
Мне нужно написать шелл-процедуру, которая бы отслеживала появление в текущем каталоге или любом его подкаталоге нового файла, выводила бы его имя и завершала работу.
Желательно, как можно проще...
Заранее благодарен...
Мне нужно написать шелл-процедуру, которая бы отслеживала появление в текущем каталоге или любом его подкаталоге нового файла, выводила бы его имя и завершала работу.
Желательно, как можно проще...
Заранее благодарен...
Together we stand, divided we fall...
-
elide
- Бывший модератор
- Сообщения: 2421
- Статус: Übermensch
- ОС: лялих
Re: Мониторинг Файлов
ну... это.
find ./ | sort > куда-нибудь_на_хранение
а потом comm срванивать.
find ./ | sort > куда-нибудь_на_хранение
а потом comm срванивать.
слава роботам!
-
am3k
- Сообщения: 33
Re: Мониторинг Файлов
Тока как мне список хранить не в файле? Просто если буду сохранять в файле - это для меня не очень приемлемо (под требования может не подойти)
Как - нибудь еще можно?
Как - нибудь еще можно?
Together we stand, divided we fall...
-
elide
- Бывший модератор
- Сообщения: 2421
- Статус: Übermensch
- ОС: лялих
Re: Мониторинг Файлов
можно в памяти (: запихать, к примеру в переменную окружения (:
но это, мне кажется, еще более неприемлимый вариант.
можешь постить на удаленный сервер, а потом с него запрашивать список.
можешь преобразовть в dot matrix и распечатать, а потом пользователь пусть сканером штрихкодов вводит.
можешь прикрутить к матери i2c eeprom и хранить данные там....
вариантов куча, выбирай любой...
но это, мне кажется, еще более неприемлимый вариант.
можешь постить на удаленный сервер, а потом с него запрашивать список.
можешь преобразовть в dot matrix и распечатать, а потом пользователь пусть сканером штрихкодов вводит.
можешь прикрутить к матери i2c eeprom и хранить данные там....
вариантов куча, выбирай любой...
слава роботам!
-
t.t
- Бывший модератор
- Сообщения: 7390
- Статус: думающий о вечном
- ОС: Debian, LMDE
Re: Мониторинг Файлов
А что конкретно здесь имеется ввиду? Демон, который вопит при открытии на запись несуществующего файла? Или не-демон, который сообщает, какие файлы были созданы после его предыдущего запуска? Во втором случае без файла-списка не обойтись; а хранить его можно, скажем, в /tmp (если, конечно, он не очищается по крону или при перезагрузке).(am3k @ Воскресенье, 08 Мая 2005, 17:44) писал(а):отслеживала появление в текущем каталоге или любом его подкаталоге нового файла
¡иɯʎdʞ ин ʞɐʞ 'ɐнɔɐdʞǝdu qнεиж
-
nercus
- Сообщения: 150
Re: Мониторинг Файлов
2.6.14-gentoo-r5
kde-3.5.0 | openbox-3.2
Deep Purple | Rob Zombie | Led Zeppelin | ДДТ
kde-3.5.0 | openbox-3.2
Deep Purple | Rob Zombie | Led Zeppelin | ДДТ
-
am3k
- Сообщения: 33
Re: Мониторинг Файлов
Дело-то, собственно, вот в чем...
Ради получения зачета по курсу операционных систем мне надо сделать все, как можно проще
Про переменную окружения можно подробнее? Желательно с кодом...

Ради получения зачета по курсу операционных систем мне надо сделать все, как можно проще
Про переменную окружения можно подробнее? Желательно с кодом...
Together we stand, divided we fall...
-
t.t
- Бывший модератор
- Сообщения: 7390
- Статус: думающий о вечном
- ОС: Debian, LMDE
Re: Мониторинг Файлов
А... Не заметил, что именно шелл упомянут. Ну, тогда понятно, что не демон. И понятно, что без файла никак.(t.t @ Воскресенье, 08 Мая 2005, 21:59) писал(а):А что конкретно здесь имеется ввиду? Демон, который вопит при открытии на запись несуществующего файла?
¡иɯʎdʞ ин ʞɐʞ 'ɐнɔɐdʞǝdu qнεиж
-
Jan2ary
- Бывший модератор
- Сообщения: 630
- Статус: Тщедушный очкарик
Re: Мониторинг Файлов
Запускать скрипт периодически с малым периодом, сравнивать текущее время с временем создания файлов, если время создания позже времени прошлого запуска - рапортовать. Можно даже сортировать файлы по времени, чтоб все не парсить, а сразу заканчивать цикл если текущий файл был создан раньше прошлого запуска. Вот. 
Не шалю, никого не трогаю, починяю примус...
-
am3k
- Сообщения: 33
Re: Мониторинг Файлов
Для Jan2ary: Можно ли с кодом, товарищ? Я, понимаешь ли, чайник немного... )
Together we stand, divided we fall...
-
t.t
- Бывший модератор
- Сообщения: 7390
- Статус: думающий о вечном
- ОС: Debian, LMDE
Re: Мониторинг Файлов
Ну, во-первых, ctime -- это не время создания, а время изменения аттрибутов файла; и оно гораздо чаще (по крайней мере, по моим личным наблюдениям) совпадает с mtime, чем с реальным временем создания. Я ж говорю: без списка -- никак.(Jan2ary @ Понедельник, 09 Мая 2005, 16:58) писал(а):Запускать скрипт периодически с малым периодом, сравнивать текущее время с временем создания файлов, если время создания позже времени прошлого запуска - рапортовать.
¡иɯʎdʞ ин ʞɐʞ 'ɐнɔɐdʞǝdu qнεиж
-
nercus
- Сообщения: 150
Re: Мониторинг Файлов
(t.t @ Вторник, 10 Мая 2005, 9:25) писал(а):Ну, во-первых, ctime -- это не время создания, а время изменения аттрибутов файла; и оно гораздо чаще (по крайней мере, по моим личным наблюдениям) совпадает с mtime, чем с реальным временем создания. Я ж говорю: без списка -- никак.(Jan2ary @ Понедельник, 09 Мая 2005, 16:58) писал(а):Запускать скрипт периодически с малым периодом, сравнивать текущее время с временем создания файлов, если время создания позже времени прошлого запуска - рапортовать.
ctime - last file status change time. изменяется при записи/chown/chmod/chattr
mtime - last modification time. изменяется при записи
2.6.14-gentoo-r5
kde-3.5.0 | openbox-3.2
Deep Purple | Rob Zombie | Led Zeppelin | ДДТ
kde-3.5.0 | openbox-3.2
Deep Purple | Rob Zombie | Led Zeppelin | ДДТ
-
madskull
- Сообщения: 1019
- Статус: Экс-металлюга
Re: Мониторинг Файлов
Не знаю, сойдет ли это для студента, который немного чайник, но вот одно из решений
Код: Выделить всё
ls >/tmp/list
until { t=$(comm -13 /tmp/list <(ls)); [ -n "$t" ]; }; do sleep 1; done
echo "new file: $t"ArchLinux / IceWM
-
am3k
- Сообщения: 33
Re: Мониторинг Файлов
Спасибо, я уже сделал все! Очень помогли вы мне! Респект вам всем)
Together we stand, divided we fall...
-
xorader
- Сообщения: 1030
- Статус: собирающий миры
- ОС: Debian
Re: Мониторинг Файлов
Можно оптимизировать тем что в начале цикла проверять время изменения каталога (mtime) и если есть прирост (сравнивать прямо unixtime), то тогда уже искать изменения в каталоге.
Molchanov Alexander (aka Xor)
*offtopic* - ololo!
*offtopic* - ololo!