[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Powiadamianie o zmianie



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" <eloy@transilvania.eu.org>
To: <debian-user-polish@lists.debian.org>
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: info@domena.pl" > ${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 DO-NOT-REPLY@domena.pl
> fi
>
>
> rm ${GREPOUTFILE} ${GREPINFILE}
> if [ -e ${MAILFILE} ]; then rm ${MAILFILE}
> fi
>
>   eloy
> --
>  --Krzysztof-eloy-Krzyżaniak-----------------------eloy-@-transilvania-eu-
org--
>
>                         Dark star why do you run from me
>                         Dark star why don't you kill me
>
>
> --
> To UNSUBSCRIBE, email to debian-user-polish-request@lists.debian.org
> with a subject of "unsubscribe". Trouble? Contact
listmaster@lists.debian.org
>


-- 
To UNSUBSCRIBE, email to debian-user-polish-request@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org



Reply to: