Powiadamianie o zmianie
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? M -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
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] 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]
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 [EMAIL PROTECTED] 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: [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]
Re: Powiadamianie o zmianie
chwila chwila. a nie mozesz po prostu uzyc loga z /var/log/xferlog odpowiednio go czytajac ? warden [EMAIL PROTECTED] GG: 260746 -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]