Awk con for

From Linuzz

(Difference between revisions)
Line 1: Line 1:
#! /bin/sh
#! /bin/sh
-
echo "===================================================================" >> /$echo "Data Eliminazione-----------> "  >> /var/log/autoclean.log
+
echo "===================================================================" >> /var/log/autoclean.log
 +
echo "Data Eliminazione-----------> "  >> /var/log/autoclean.log
date >> /var/log/autoclean.log
date >> /var/log/autoclean.log
umask 177
umask 177
apt-get autoclean > pippo.txt
apt-get autoclean > pippo.txt
let a=`cat pippo.txt | wc -l`-2
let a=`cat pippo.txt | wc -l`-2
-
if [ $a == 0 ]
+
if [ $a == 0 ]  
-
then
+
then  
-
   echo "Non è stato eliminato alcun pacchetto " >> /var/log/autoclean.log
+
   echo "Non è stato eliminato alcun pacchetto " >> /var/log/autoclean.log
else
else
-
   tail -n $a pippo.txt | awk '/^\\del/ { print $2,$3 }' >> /var/log/autoclean.logfi
+
   tail -n $a pippo.txt | awk '/^\\del/ {for (i=2;i<=NF;i++) printf $i " ";print(LF)}' >> /var/log/autoclean.log
-
echo "===================================================================" >> /$
+
fi
-
#viene effettuato il controllo sui file per vedere se esistono e se sono esegui$test -x /var/log/autoclean.log || exit 0
+
echo "===================================================================" >> /var/log/autoclean.log
 +
#viene effettuato il controllo sui file per vedere se esistono e se sono eseguibili
 +
test -x /var/log/autoclean.log || exit 0
test -x /sbin/syslogd || exit 0
test -x /sbin/syslogd || exit 0
-
 
+
#viene effettuato il controllo sul file per vedere se esiste e se è regolare
-
 
+
test -f /usr/share/sysklogd/dummy || exit 0
#se si presenta un errore viene mandato il segnale di uscita
#se si presenta un errore viene mandato il segnale di uscita
set -e
set -e
-
 
+
cd /var/log
-
cd /var/log
+
LOG=/var/log/autoclean.log
LOG=/var/log/autoclean.log
#fa il salvataggio dei log per quattro cicli
#fa il salvataggio dei log per quattro cicli
if [ -s $LOG ]; then
if [ -s $LOG ]; then
-
        savelog -g adm -m 640 -u root -c 4 $LOG>/dev/null
+
savelog -g adm -m 640 -u root -c 4 $LOG>/dev/null
fi
fi
-
 
#Viene inviato al demone il comando restart
#Viene inviato al demone il comando restart
/etc/init.d/sysklogd reload-or-restart > /dev/null
/etc/init.d/sysklogd reload-or-restart > /dev/null

Revision as of 11:01, 20 June 2007

  1. ! /bin/sh

echo "===================================================================" >> /var/log/autoclean.log echo "Data Eliminazione-----------> " >> /var/log/autoclean.log date >> /var/log/autoclean.log umask 177 apt-get autoclean > pippo.txt let a=`cat pippo.txt | wc -l`-2 if [ $a == 0 ] then

 echo "Non è stato eliminato alcun pacchetto " >> /var/log/autoclean.log	

else

 tail -n $a pippo.txt | awk '/^\\del/ {for (i=2;i<=NF;i++) printf $i " ";print(LF)}' >> /var/log/autoclean.log

fi echo "===================================================================" >> /var/log/autoclean.log

  1. viene effettuato il controllo sui file per vedere se esistono e se sono eseguibili

test -x /var/log/autoclean.log || exit 0 test -x /sbin/syslogd || exit 0

  1. viene effettuato il controllo sul file per vedere se esiste e se è regolare

test -f /usr/share/sysklogd/dummy || exit 0

  1. se si presenta un errore viene mandato il segnale di uscita

set -e cd /var/log LOG=/var/log/autoclean.log

  1. fa il salvataggio dei log per quattro cicli

if [ -s $LOG ]; then savelog -g adm -m 640 -u root -c 4 $LOG>/dev/null fi

  1. Viene inviato al demone il comando restart

/etc/init.d/sysklogd reload-or-restart > /dev/null

Personal tools