Kirjoittaja Aihe: Skripti: Nouda Telewellin palomuurin loki  (Luettu 1928 kertaa)

valtsu68

  • Käyttäjä
  • Viestejä: 454
  • Aloitteleva peruskäyttäjä
    • Profiili
Skripti: Nouda Telewellin palomuurin loki
« : 21.06.10 - klo:20.26 »
Mites tuota voi parantaa? (toimii siis kiitettävästi, mutta olisiko mitään viilattavaa)

Miksi tuon tiedoston pitää olla omassa kotikansiossa, jotta sen voi käynnistää käynnistimellä?

Koodia: [Valitse]
#!/bin/bash
cd ~/hento/lassi/veti/ritsaa #siirrytään kohdekansioon
function lataa_ja_varmista {
wget -a lokiva http://192.168.0.xxx/seclog.txt --user=admin --password=admin
#hakee modeemilta koputtajien listan
sleep 1
cat seclog.txt.1 >> seclog.txt
#hakemistossa oleva seclog.txt kerää kaikki noudetut tiedot, (joukkoon tulee usein duplikaattirivejä,
# riippuen haku- ja hyökkäystiheydestä), ja uusi noudettu tiedosto saa järjestysnumeron 1,
#(seclog.txt.1), joka lisätään keräävään tiedostoon, (seclog.txt).
sleep 1
rm seclog.txt.1
#poistetaan juuri lisätyt tiedot tuonut tiedosto,
#(muuten seuraava tuotava tiedosto saisi järjestysnumeron 2)
sort seclog.txt -o sortattu
#järjestetään keräävä tiedosto, jotta duplikaattirivit tulevat peräkkäin uuteen tiedostoon, ("sortattu").
sleep 1
sed '$!N; /^\(.*\)\n\1$/!P; D' sortattu | cat > koputtajat
#jätetään duplikaattiriveistä ensimmäinen jäljelle --> sed:in tuotos tallennetaan
# tiedostoon "koputtajat", johon kerääntyvät modeemin palomuurin havaitsemat pingaajat tms.
rm sortattu
#poistetaan tiedosto turhana, vaikka seuraavalla skriptin
# suorituskerralla se kirjoitettaisiin yli uusilla tiedoilla.

EDITTIÄ

                         sleep 5
                  rm seclog.txt  #poistetaan kasvava tiedosto
                  sleep 2
                  cp koputtajat seclog.txt #korvataan poistettu tiedosto
EDITTIloppu


sleep `expr 59  \*  2` #ootellaan noin 2x59 sekuntia
}
i=0
while [ $i -le 999 ] #toistetaan 1000 kertaa
do lataa_ja_varmista
i=`expr $i + 1` #Laskuri
done

Tuollainen lisäys suoritettu jokin aika sitten:
Koodia: [Valitse]
                         sleep 5
                  rm seclog.txt  #poistetaan kasvava tiedosto
                  sleep 2
                  cp koputtajat seclog.txt #korvataan poistettu tiedosto

Sitten kävi hassusti. Olin sammuttanut koneen todennäköisesti kesken skriptin suorituksen, ehkä tässä kohtaa:
Koodia: [Valitse]
sed '$!N; /^\(.*\)\n\1$/!P; D' sortattu | cat > koputtajat
#jätetään duplikaattiriveistä ensimmäinen jäljelle --> sed:in tuotos tallennetaan
# tiedostoon "koputtajat", johon kerääntyvät modeemin palomuurin havaitsemat pingaajat tms.

Nyt on koputtajat-tiedosto tyhjä...

Mikä on paras ratkaisu? Tehdään jokin varmuuskopio, tai tehdään "kaksinkertainen kirjanpito" jolloin koneen sammutus sattuu vain toisen tiedoston kohdalle?
« Viimeksi muokattu: 10.07.10 - klo:21.14 kirjoittanut valtsu68 »