Re: Скрипты
Не про Maemo.
Пишу сейчас скрипт/демон на bash мониторящий логи FTP сервера на предмет заливки файлов и выполняющий при заливке долгое и ресурсоёмкое действие (find по всему содержимому FTP, в условиях той площадки на которй скрипт будет крутиться это очень ресурсоёмко).
Взял за основу демона Nas_tradamus-а (за которого ему спасибо) так как под изначальные требования он очень хорошо подходил.
Но когда всё уже было готово я заметил одну неувязочку: файлы могут заливать и не по одному (скорее всего их будут заливать кучками). Если на каждый из сотни заливаемых файлов запускать ftnd это будет несколько не оптимально.
Пока пришёл к выводу что перед выполнением find нужно ждать какое-то время (превышающее максимальное время заливки одного файла (с допущением что вас файла не более n и заливают его не через DialUP)) проверять не было-ли за это время других заливок, если были то ждать ещё, если не было то выполнять find.
Пока придумал только одну реализацию, она кажется мне самому корявой, к тому-же требует использования тредов, реализацию которых в shell-скриптах я представляю себе слабо (видимо только через &).
Может есть у кого идеи?
Сейчас это выглядит так:
#!/bin/bash
check() {
if echo $line | grep -q "b _ i" -; then
echo 'тут должен был быть find'
fi
}monitor() {
tailf /var/log/proftpd/xferlog | while read line ; do check ; done
}
monitor
exit 0
P.S. я не программист, совсем не программист, да и башка после рабочего дня не варит. Так что не пинайте.