Dzieki za obie odpowiedzi. Sproboje obydwu, ale faktycznie czas modyfikacji tzreba by wziac pod uwage - plik sie moze zmienic,a nazwa jest taka sama. Ja zalozylem sprawdzanie tylko po nazwach pliku.
M ----- Original Message ----- From: "Krzysztof Krzyzaniak" <[EMAIL PROTECTED]> To: <[email protected]> Sent: Wednesday, May 15, 2002 11:37 AM Subject: Re: Powiadamianie o zmianie > On Wed, May 15, 2002 at 11:30:14AM +0200, Misiek wrote: > > Witam. > > Problem jest taki: > > Mamy udostepnione konto ftp dla klientow, moga tam wrzucac dla nas rozne > > pliki. Chcialbym zrobic cos takiego, ze w momencie, kiedy w okreslonym > > katalogu cos sie zmieni (a zmiana moze byc dowolna moze przybyc plik > > katalog, plik w katalogu, katalog w katalogu itp) dostaje o maila z > > informacja, ze cos sie zmienilo. > > I pytanie: Czy jest nadzedzie w linuxie, ktore udostepnia taka funkcje? > > Jezeli nie ma to zrobie skrypt i mam pomysl taki, aby wrzucic do crona > > skrypt ktory rbi cos takiego np co 10 minut: > > 1. listuje do spodu folder udostepniony klientom > > 2. porownuje jego zawartosc z poprzednim listingiem > > 3. jezeli sie rozni to posyla maila z informacja co sie zmienilo > > > > Nie wiem czy to zadziala i jak zadziala, bo nie mam zbyt wielkiej praktyki w > > pisaniu skryptow w bashu. Czy mozna ten schemat uepszyc, ew jakas > > podpowiedz? > > Kiedyś napisałem coś takiego. Nie jest to może optymalne ale działa od > trzech lat bez problemów. Można to zrobić o wiele prościej korzystając z > find /katalog -ctime. > > #!/bin/sh > # najpierw zmień nazwę staremu plikowi > > NEWFILE=/var/spool/naswietlanie/pliki.new > OLDFILE=/var/spool/naswietlanie/pliki.old > DIFFILE=/var/spool/naswietlanie/pliki.dif > SENDMAIL=/usr/sbin/sendmail > GREPINFILE=/tmp/grep.in > GREPOUTFILE=/tmp/grep.out > MAILFILE=/tmp/mail.out > > # przenieś stare dane > mv ${NEWFILE} ${OLDFILE} > > # wyszukaj pliki w katalogu > find /var/naswietlanie -name '*' -print > ${NEWFILE} > > # znajdź różnice > diff ${OLDFILE} ${NEWFILE} > ${DIFFILE} > > # skasowane pliki > grep '<' ${DIFFILE} > ${GREPOUTFILE} > # nowe pliki > grep '>' ${DIFFILE} >> ${GREPINFILE} > > if [ -s ${GREPINFILE} -o -s ${GREPOUTFILE} ]; then > echo "To: [EMAIL PROTECTED]" > ${MAILFILE} > echo "Subject: Zmiany w katalogu /var/naswietlanie" >> ${MAILFILE} > echo -n "Raport z dnia: " >> ${MAILFILE} > date >> ${MAILFILE} > echo "=================================================================" >> ${MAILFILE} > echo "Skasowane pliki:" >> ${MAILFILE} > cat ${GREPOUTFILE} >> ${MAILFILE} > echo "=================================================================" >> ${MAILFILE} > echo "Nowe pliki:" >> ${MAILFILE} > cat ${GREPINFILE} >> ${MAILFILE} > echo "=================================================================" >> ${MAILFILE} > echo "" >> ${MAILFILE} > echo "Wiadomość utworzona przez automat." >> ${MAILFILE} > cat ${MAILFILE} | ${SENDMAIL} -oi -t -f [EMAIL PROTECTED] > fi > > > rm ${GREPOUTFILE} ${GREPINFILE} > if [ -e ${MAILFILE} ]; then rm ${MAILFILE} > fi > > eloy > -- > [EMAIL PROTECTED] org-- > > Dark star why do you run from me > Dark star why don't you kill me > > > -- > To UNSUBSCRIBE, email to [EMAIL PROTECTED] > with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED] > -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

