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ä?
#!/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:
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:
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?