Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Администрирование *NIX систем > Отслеживать состояние директории


Автор: mihanik 28.12.2011, 21:35
Нужно следить за состоянием одной из папок на компе под управлением Fedora 14.
Как только там появляется файл, нужно этот файл перемещать в другое место.
Как бы это попроще сделать?

Автор: mihanik 28.12.2011, 22:04
Сделал так ...

Код

#!/bin/sh

pdf_in_dir=/home/pdfprint/
pdf_out_dir=/mnt/mybooklive/public/pdf/

inotifywait -e create -m ${pdf_in_dir} | while read dir events file; do

sleep 5
cp  ${dir}${file} ${pdf_out_dir}${file}
rm -f ${dir}${file}

done


Автор: Фантом 28.12.2011, 22:09
Совсем буквально "как только"? Потому что если допустим лаг хотя бы в минуту, проще настроить cron.

Автор: bilbobagginz 28.12.2011, 22:15
есть несколько механизмов для этого. один из наиболее "естественных" - это inotify (как ты и сделал)
я бы рекомендовал связываться с механизмом посредством не шелла, а скриптового я.п., напр. python:
http://pyinotify.sourceforge.net/
примерчик там похачь, и все будет пучком.
с т.з. строк думаю выйдет покороче.

Автор: mihanik 28.12.2011, 22:18
Бильбо!

Я с башем ещё на "позвольте Вас побеспокоить", а ты мне уже питона впариваешь.
 smile  smile  smile

Добавлено через 53 секунды
А вы поняли, что этот пост и http://forum.vingrad.ru/index.php?showtopic=344566&view=findpost&p=2444007 связаны... smile

Автор: bilbobagginz 28.12.2011, 22:34
Цитата(mihanik @  28.12.2011,  21:18 Найти цитируемый пост)
Я с башем ещё на "позвольте Вас побеспокоить", а ты мне уже питона впариваешь.

питон проще баша во многом. зря ты так отрекаешься.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)