Smanjivanje log datoteke

Za one koji redovno pregledavaju log datoteke, tj. regularnih sistem administratora, nekad je zgodno samostalno smanjiti log datoteku, po količini kakva nama odgovara. (skripta /etc/cron.daily/logrotate obavi posao smanjivanja log datoteke svaki dan, ipak, nekad nam odgovara reducirati postojeći zapis) U dodatku je linux skripta koja uzima kao parametar datoteku koju želimo smanjiti. Nazovimo skriptu smanji_log.sh, kopiramo je u /usr/bin/, dodamo prava izvršenja naredbom

$ sudo chmod +x smanji_log.sh 
Skripta smanjuje odabranu datoteku tako da ostane zadnjih 30 redova. Pozivamo skriptu:
 $ sudo smanji_log.sh /var/mail/root 
Skripta prvo računa ukupan broj redova odabrane datoteku, zatim briše naredbom sed datoteke tako da ostane zadnjih 30 (ili koliko vec zelimo ostaviti) redova. Evo sadrzaja skripte:
#!/bin/bash
# skripta za smanjivanje logova
# treba dodati naziv file-a kao parametar, skripta ga čita kao $1
broj_linija="$(wc -l $1 | tr -s " " | cut -d" " -f 1)"
smanjen_broj=$(($broj_linija-30))
sed -i  ${smanjen_broj}' ,$ !d' $1