Creazione automatica di un file di log per inviare quesiti al forum: differenze tra le versioni

Vai alla navigazione Vai alla ricerca
1.0.10
(1.0.10)
Riga 29: Riga 29:
# Nome del file di log
# Nome del file di log
log="log.txt"
log="log.txt"
# I file creati saranno leggibili e scrivibili da tutti
umask 0111


# --------------------------------------------------------------------------
# --------------------------------------------------------------------------
Riga 41: Riga 44:
*                                                                              *
*                                                                              *
*  Script che crea un log utile alla risoluzione dei problemi più comuni        *
*  Script che crea un log utile alla risoluzione dei problemi più comuni        *
*  Versione 1.0.9                                                              *
*  Versione 1.0.10                                                              *
*                                                                              *
*                                                                              *
*********************************************************************************
*********************************************************************************
Riga 54: Riga 57:
-- Per inviare il log su paste.debian.net è necessario il pacchetto 'pastebinit'
-- Per inviare il log su paste.debian.net è necessario il pacchetto 'pastebinit'
-- L'invio del log a paste.debian.net avverrà solo dopo esplicito consenso
-- L'invio del log a paste.debian.net avverrà solo dopo esplicito consenso
-- Verrà creato un file (log.txt) contenente l'output di questo script
-- Verrà creato un file ($log) contenente l'output di questo script
-- Verrà creato un file in formato compresso da inviare al forum
-- Verrà creato un file in formato compresso da inviare al forum
TESTO
TESTO
Riga 61: Riga 64:
   case $risp in
   case $risp in
     ""|[Ss])
     ""|[Ss])
    ;;
      ;;
     *)
     *)
       echo -e "Uscita\n"
       echo -e "Uscita\n"
       exit 1
       exit 1
    ;;
      ;;
   esac
   esac
}
}
Riga 80: Riga 83:
   # creati, lo script chiede se cancellarli o meno
   # creati, lo script chiede se cancellarli o meno
   local risp
   local risp
   if [ -f ./log.txt -o -f ./log.zip -o -f ./log.txt.bz2 -o -f ./log.tgz ]; then
   if [ -f $log -o -f log.zip -o -f log.txt.bz2 -o -f log.tgz ]; then
     echo -n "Esiste già un file log.txt, log.zip, log.txt.bz2 o log.tgz nella directory corrente. Sovrascivere [S/n]? "
     echo -n "Esiste già un file $log, log.zip, log.txt.bz2 o log.tgz nella directory corrente. Sovrascivere [S/n]? "
     read risp
     read risp
     case $risp in
     case $risp in
       ""|[Ss])
       ""|[Ss])
         rm -f $log log.zip log.txt.bz2 log.tgz
         rm -f $log log.zip log.txt.bz2 log.tgz
      ;;
        ;;
       *)
       *)
         exit 1
         exit 1
      ;;
        ;;
     esac
     esac
   fi
   fi
Riga 102: Riga 105:
   local chunk_num=1
   local chunk_num=1
   local paste_exit_status=0
   local paste_exit_status=0
  local chunkfile pastelink
    
    
   # dimensione massima del singolo file da inviare  
   # dimensione massima del singolo file da inviare  
Riga 119: Riga 123:
   if [ $chunk_num = 1 ]; then
   if [ $chunk_num = 1 ]; then
       echo -e "\nIl log sarà inviato in un singolo file."
       echo -e "\nIl log sarà inviato in un singolo file."
    else
  else
       echo -e "\nIl log sarà inviato in $chunk_num parti."
       echo -e "\nIl log sarà inviato in $chunk_num parti."
   fi
   fi
Riga 125: Riga 129:
   # invia al massimo 4 parti
   # invia al massimo 4 parti
   echo -e "\nIl log è consultabile ai seguenti indirizzi:"
   echo -e "\nIl log è consultabile ai seguenti indirizzi:"
   for chunkfile in $chunk_prefix.{0..3}; do
   for chunkfile in $chunk_prefix.{0..3}; do
    
    
     # verifica l'esistenza del file da inviare
     # verifica l'esistenza del file da inviare
Riga 149: Riga 153:
    esac
    esac
      
      
  else
else
    # Invio fallito (pastebinit exit status = 1)
    # Invio fallito (pastebinit exit status = 1)
    echo ".. non riuscito invio $chunkfile"
    echo ".. non riuscito invio $chunkfile"
    paste_exit_status=1
    paste_exit_status=1
fi
        fi
     fi
     fi
Riga 170: Riga 174:
# --------------------------------------------------------------------------
# --------------------------------------------------------------------------
function _upload {
function _upload {
  local pastelink
   local risp
   local risp
   # Pastebinit è installato?
   # Pastebinit è installato?
Riga 188: Riga 191:
  echo -e "\nSi sono verificati errori nell'invio del log!"
  echo -e "\nSi sono verificati errori nell'invio del log!"
       fi
       fi
    ;;
      ;;
     *)
     *)
       echo "Il log non è stato inviato"
       echo "Il log non è stato inviato"
    ;;
      ;;
   esac
   esac
}
}
Riga 203: Riga 206:
   echo "Il file compresso $1 è stato creato correttamente nella directory corrente."
   echo "Il file compresso $1 è stato creato correttamente nella directory corrente."
   echo -e "Allegare questo file alla discussione sul forum.\n"
   echo -e "Allegare questo file alla discussione sul forum.\n"
  # Imposta i permessi di lettura-scrittura sul file per tutti gli utenti
  chmod 666 $1
}
}


Riga 221: Riga 222:
     ""|[Ss])
     ""|[Ss])
       echo -e "\nSta per essere creato un file compresso..."
       echo -e "\nSta per essere creato un file compresso..."
       sleep 2
       sleep 1
       if [ -f /bin/bzip2 ]; then
       if [ -f /bin/bzip2 ]; then
         bzip2 -k9 $log && _compress_ok log.txt.bz2 || _compress_err log.txt.bz2
         bzip2 -k9 $log && _compress_ok log.txt.bz2 || _compress_err log.txt.bz2
Riga 229: Riga 230:
         tar czf log.tgz $log && _compress_ok log.tgz || _compress_err log.tgz
         tar czf log.tgz $log && _compress_ok log.tgz || _compress_err log.tgz
       fi
       fi
    ;;
      ;;
     *)
     *)
    ;;
      ;;
   esac
   esac
}
}
Riga 316: Riga 317:
   _nm
   _nm
   _wicd
   _wicd
  _iptables
)
)


Riga 356: Riga 356:
     cat /etc/debian_version &>> $log && _ok "$var" || _error "$var"
     cat /etc/debian_version &>> $log && _ok "$var" || _error "$var"
   else
   else
     echo "Il file /etc/debian_version non trovato" >> $log && _error "$var"
     echo "File $var non trovato" >> $log && _error "$var"
   fi
   fi
}
}
Riga 378: Riga 378:
     cat /var/log/syslog &>> $log && _ok "$var" || _error "$var"
     cat /var/log/syslog &>> $log && _ok "$var" || _error "$var"
   else
   else
     echo "Il file /var/log/syslog non trovato" >> $log && _error "$var"
     echo "File $var non trovato" >> $log && _error "$var"
   fi
   fi
}
}
Riga 389: Riga 389:
     cat /var/log/syslog.1 &>> $log && _ok "$var" || _error "$var"
     cat /var/log/syslog.1 &>> $log && _ok "$var" || _error "$var"
   else
   else
     echo "Il file /var/log/syslog.1 non trovato" >> $log && _error "$var"
     echo "File $var non trovato" >> $log && _error "$var"
   fi
   fi
}
}
Riga 444: Riga 444:
     cat /etc/fstab &>> $log && _ok "$var" || _error "$var"
     cat /etc/fstab &>> $log && _ok "$var" || _error "$var"
   else
   else
     echo "Il file $var non trovato" >> $log && _error "$var"
     echo "File $var non trovato" >> $log && _error "$var"
   fi
   fi
}
}
Riga 540: Riga 540:
     cat /etc/hosts &>> $log && _ok "$var" || _error "$var"
     cat /etc/hosts &>> $log && _ok "$var" || _error "$var"
   else
   else
     echo "File /etc/hosts non trovato" >> $log && _error "$var"
     echo "File $var non trovato" >> $log && _error "$var"
   fi
   fi
}
}
Riga 628: Riga 628:
   if [ -x /sbin/route ]; then
   if [ -x /sbin/route ]; then
     /sbin/route -n &>> $log && _ok "$var -n" || _error "$var -n"
     /sbin/route -n &>> $log && _ok "$var -n" || _error "$var -n"
  else
    echo "Comando $var non trovato" >> $log && _error "$var"
  fi
}
# comando 'iptables -L'
function _iptables {
  local var="iptables"
  nome_e_riga "$var"
  if [ -x /sbin/iptables ]; then
    /sbin/iptables -L &>> $log && _ok "$var -L" || _error "$var -L"
   else
   else
     echo "Comando $var non trovato" >> $log && _error "$var"
     echo "Comando $var non trovato" >> $log && _error "$var"
Riga 763: Riga 752:
_upload
_upload
_compress
_compress
# Permessi di lettura e scrittura per tutti
# poiché il file di log viene creato da root
chmod 666 $log


exit 0
exit 0
Riga 773: Riga 758:
== Changelog ==
== Changelog ==
<!-- Qui vanno inserite le spiegazioni di eventuali modifiche dello script (chi, cosa, quando). Ricordarsi di modificare la versione all'interno del codice (la versione iniziale è 1.0.0) -->
<!-- Qui vanno inserite le spiegazioni di eventuali modifiche dello script (chi, cosa, quando). Ricordarsi di modificare la versione all'interno del codice (la versione iniziale è 1.0.0) -->
;1.0.10
:''Tolta la funzione iptables per motivi di sicurezza''
:''Impostata una maschera di default per i file creati dallo script''
:''Modifiche minori''
:[[Utente:S3v|S3v]] 11:19, 14 mag 2013 (CEST)
;1.0.9
;1.0.9
:''Aggiunta funzionalità per aggiungere i log di sistema (/var/log/syslog e /var/log/syslog.1)
:''Aggiunta funzionalità per aggiungere i log di sistema (/var/log/syslog e /var/log/syslog.1)
Riga 786: Riga 776:
:''Anticipazione ed unificazione nell'ordine del codice sorgente delle sezioni relative al controllo del sistema apt
:''Anticipazione ed unificazione nell'ordine del codice sorgente delle sezioni relative al controllo del sistema apt
:[[Utente:Aki|Aki]] 13:40 27 apr 2013 (CEST);
:[[Utente:Aki|Aki]] 13:40 27 apr 2013 (CEST);
1.0.6
;1.0.6
:''Aggiunta funzionalità per verifiche sullo stato del gestiore dei pacchetti (comandi apt-cache policy, apt-cache status)
:''Aggiunta funzionalità per verifiche sullo stato del gestiore dei pacchetti (comandi apt-cache policy, apt-cache status)
:[[Utente:Aki|Aki]] 10:39 26 apr 2013 (CEST)
:[[Utente:Aki|Aki]] 10:39 26 apr 2013 (CEST)
6 999

contributi

Menu di navigazione