Strona 1 z 1

Bash, obserwowanie zawartości pliku

: 18 czerwca 2011, 22:49
autor: ksysinek
Witam.
Wprowadziłem ostatnio na swoim serwerze powiadomienie SMS o nowej wiadomości. Niestety program do wysyłania SMS-ów (gnokii) w przypadku problemów z telefonem potrafi czekać w nieskończoność, przez co paraliżuje postfiksa. Wpadłem na pomysł, aby powiadomienia sms były zapisywane w pliku /tmp/powiadom przez procmaila, aby ten mógł szybko zakończyć swoją pracę i nie zwracać błędów w stylu:

Kod: Zaznacz cały

The mail system

<>: Command time limit exceeded: "/usr/bin/procmail".
    Command output: GNOKII Version 0.6.26 GNOKII Version 0.6.26
Struktura pliku /tmp/powiadom wygląda mniej więcej tak:

Kod: Zaznacz cały

numer_telefonu;treść_powiadomienia
Mam zamiar teraz napisać drugi program, który w przypadku pojawienia się jakiegoś tekstu w /tmp/powiadom wywoła program gnokii. Nie chcę, żeby to była pętla ,,while'', która co sekundę będzie otwierać plik /tmp/powiadom, bo powoduje to niepotrzebne obciążanie systemu. Czy istnieje jakaś inna metoda ciągłego obserwowania zawartości pliku i gdy nastąpi jego zmiana (zmiana wielkości pliku lub daty modyfikacji), wywoła odpowiedni program.
Z góry dziękuję za podpowiedzi i pozdrawiam.

: 19 czerwca 2011, 11:51
autor: grucha
Tu: http://forums.whirlpool.net.au/archive/494725 jest o czymś podobnym, może nakieruje Cię na prawidłową ścieżkę.