Powiadamianie o zmianie

2002-05-15 Wątek Misiek
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

2002-05-15 Wątek Krzysztof Krzyzaniak
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

2002-05-15 Wątek Misiek
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

2002-05-15 Wątek Rados³aw Antoniuk
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]