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

1.0.51
(1.0.51)
Riga 73: Riga 73:


# Versione script
# Versione script
readonly VERSIONE="1.0.50"
readonly VERSIONE="1.0.51"


# Codename per stable e testing. Da modificare nei successivi rilasci di Debian
# Codename per stable e testing. Da modificare nei successivi rilasci di Debian
readonly STABLE="wheezy"
readonly OLDSTABLE="wheezy"
readonly TESTING="jessie"
readonly STABLE="jessie"
readonly TESTING="stretch"


# Path dei comandi dello script
# Path dei comandi dello script
Riga 84: Riga 85:
# Nome del file di log in base alla data corrente
# Nome del file di log in base alla data corrente
readonly log="log_$(date '+%d%b_%H%M%S')"
readonly log="log_$(date '+%d%b_%H%M%S')"
# Nome del file compresso. Viene usata l'estensione .bz2 a meno
# che non venga modificata da _compress
complog="${log}.bz2"


# nome utente
# nome utente
Riga 134: Riga 131:
readonly BOLD="\033[01m"        # grassetto
readonly BOLD="\033[01m"        # grassetto
readonly FINE="\033[0m"        # reset
readonly FINE="\033[0m"        # reset
# variabile che vale 1 se systemd è installato
[ "$(ps -o comm= -p 1)" = "systemd" ] && systemd=1 || systemd=0
readonly systemd


# --------------------------------------------------------------------------
# --------------------------------------------------------------------------
Riga 394: Riga 395:
       elif [ -f /usr/bin/zip ]; then
       elif [ -f /usr/bin/zip ]; then
         zip "${log}.zip" "$log" && _compress_ok || _compress_err
         zip "${log}.zip" "$log" && _compress_ok || _compress_err
        complog="${log}.zip"
       else
       else
         tar czf "${log}.tgz" "$log" && _compress_ok || _compress_err
         tar czf "${log}.tgz" "$log" && _compress_ok || _compress_err
        complog="${log}.tgz"
       fi
       fi
       ;;
       ;;
Riga 571: Riga 570:
# Funzione che stampa un messaggio che indica i file creati e poi termina lo script
# Funzione che stampa un messaggio che indica i file creati e poi termina lo script
function _exit {
function _exit {
  local complog=""
   if [ -f "$log" ]; then
   if [ -f "$log" ]; then
     echo -n $'\nFile contenente il log dello script: '
     echo -n $'\nFile contenente il log dello script: '
Riga 577: Riga 579:
     echo $'\nNon è stato creato un file di log'
     echo $'\nNon è stato creato un file di log'
   fi
   fi
    
 
   if [ -f "$complog" ]; then
   if [ -f "${log}.bz2" ]; then
    complog="${log}.bz2"
  elif [ -f "${log}.zip" ]; then
    complog="${log}.zip"
  elif [ -f "${log}.tgz" ]; then
    complog="${log}.tgz"
  fi
 
   if [ -z "$complog" ]; then
    echo "Non è stato creato un file compresso del log"
  else
     echo -n "File compresso da allegare alla discussione sul forum: "
     echo -n "File compresso da allegare alla discussione sul forum: "
     _bold "$complog"
     _bold "$complog"
  else
    echo "Non è stato creato un file compresso del log"
   fi
   fi
    
    
Riga 604: Riga 614:
   _comando "/usr/bin/groups" "su"
   _comando "/usr/bin/groups" "su"
   _file "/var/log/syslog"
   _file "/var/log/syslog"
  _comando "/bin/systemctl --failed"
  _comando "/bin/journalctl -x -b --no-pager"
  _comando "/bin/journalctl -x -b --no-pager -p err"
  _comando "/bin/journalctl -x -b --no-pager -p warning"
   _comando "/bin/dmesg -l err"
   _comando "/bin/dmesg -l err"
   _comando "/bin/dmesg -l warn"
   _comando "/bin/dmesg -l warn"
Riga 612: Riga 626:
   _dir "/etc/apt/sources.list.d/"
   _dir "/etc/apt/sources.list.d/"
   _comando "/sbin/fdisk -l"
   _comando "/sbin/fdisk -l"
  _comando "/sbin/blkid"
   _file "/etc/fstab"
   _file "/etc/fstab"
   _comando "/bin/findmnt"
   _comando "/bin/findmnt"
  _comando "/bin/lsblk"
   _comando "/bin/df"
   _comando "/bin/df"
   _comando "/usr/bin/apt-cache policy"
   _comando "/usr/bin/apt-cache policy"
Riga 623: Riga 639:
   _pack "linux-image"
   _pack "linux-image"
   _comando "/usr/sbin/dkms status"
   _comando "/usr/sbin/dkms status"
  _comando "/usr/bin/dpkg --audit"
}
}


Riga 633: Riga 650:
   _comando "/sbin/ifconfig -a"
   _comando "/sbin/ifconfig -a"
   _comando "/usr/sbin/rfkill list all"
   _comando "/usr/sbin/rfkill list all"
   _comando "/bin/ping -c3 8.8.8.8" #DNS di Google 8.8.8.8
   _comando "/bin/ping -c3 -W5 8.8.8.8" #DNS di Google 8.8.8.8
   _comando "/bin/ip addr"
   _comando "/bin/ip addr"
   _comando "/bin/ip route list"
   _comando "/bin/ip route list"
Riga 762: Riga 779:
case "$1" in
case "$1" in
    /etc/network/interfaces)
    /etc/network/interfaces)
                      # Nasconde nel log gli ESSID e le password criptate contenute in /etc/network/interfaces
                  # Nasconde nel log gli ESSID e le password criptate contenute in /etc/network/interfaces
      sed -r "s/((wpa-ssid)|(wpa-psk)).*/\1 \*script-removed\*/" "$1" &>> "$log" && _ok  || _error ;;
  sed -r "s/((wpa-ssid)|(wpa-psk)).*/\1 \*script-removed\*/" "$1" &>> "$log" && _ok  || _error ;;
    /var/log/syslog)
    /var/log/syslog)
                  # se è installato systemd, il log viene ricavato da "journalctl -x"
                  if [ $systemd -eq 0 ]; then
      # se il file contiene la stringa "rsyslogd.*start" ...
      # se il file contiene la stringa "rsyslogd.*start" ...
      if [ "$(grep -sci 'rsyslogd.*start$' "$1")" -ne 0 ]; then
      if [ "$(grep -sci 'rsyslogd.*start$' "$1")" -ne 0 ]; then
Riga 776: Riga 795:
                         _prompt "$1".1
                         _prompt "$1".1
sed -n 'H; /rsyslogd.*start$/h; ${g;p;}' "$1".1 >> "$log" && _ok || _error
sed -n 'H; /rsyslogd.*start$/h; ${g;p;}' "$1".1 >> "$log" && _ok || _error
      fi ;;
      fi
  else _error # systemd è installato. I log vengono ricavati da "journalctl -x"
  fi ;;
    *)
    *)
      # per tutti i file non specificati sopra...
  # per tutti i file non specificati sopra...
      cat "$1" &>> "$log" && _ok || _error
  cat "$1" &>> "$log" && _ok || _error
esac
esac
     else
     else
Riga 832: Riga 853:
                   nmcli device show 2>/dev/null | sed -r "s/(^AP[[:digit:]]*\.SSID:[[:space:]]*).*/\1\*script removed\*/" >> "$log" && [ "${PIPESTATUS[0]}" -eq 0 ] && _ok || \
                   nmcli device show 2>/dev/null | sed -r "s/(^AP[[:digit:]]*\.SSID:[[:space:]]*).*/\1\*script removed\*/" >> "$log" && [ "${PIPESTATUS[0]}" -eq 0 ] && _ok || \
                       ( _error && echo "Comando valido solo per Jessie" >> "$log" ) ;;
                       ( _error && echo "Comando valido solo per Jessie" >> "$log" ) ;;
              /bin/dmesg*)
  # Il comando viene eseguito solo se è non installato systemd
  [ $systemd -eq 0 ] && $1 &>> "$log" && _ok || _error ;;
      *)
      *)
  # per tutti gli altri comandi non specificati sopra l'output del comando è inviato inalterato al log
  # per tutti gli altri comandi non specificati sopra l'output del comando è inviato inalterato al log
Riga 960: Riga 984:
   _prompt "$var"
   _prompt "$var"
   nome_e_riga "$var"
   nome_e_riga "$var"
   dpkg -l | grep -i firmware >> "$log" && _ok
   dpkg -l | grep -i firmware >> "$log" && _ok || _error
   echo >> "$log"
   echo >> "$log"


Riga 1 035: Riga 1 059:
   elif _is_running "openbox"; then
   elif _is_running "openbox"; then
     if [ "$(_x_session_manager)" != "/usr/bin/openbox-session" ]; then
     if [ "$(_x_session_manager)" != "/usr/bin/openbox-session" ]; then
       echo -n "(altro x-session-manager) + " >> "$log"                                                                     # Session manager (LXDE?) + Openbox
       echo -n "(altro x-session-manager) + " >> "$log"                                                     # Session manager (LXDE?) + Openbox
     fi
     fi
     openbox --version | head -n 1 >> "$log" && _ok || _error                                                # Openbox
     openbox --version | head -n 1 >> "$log" && _ok || _error                                                # Openbox
   else
   else
     echo "Sconosciuto" >> "$log" && _error                                                                         # NON TROVATO
     echo "Sconosciuto" >> "$log" && _error                                                                 # NON TROVATO
   fi
   fi
}
}
Riga 1 112: Riga 1 136:
  # Se il numero di release è uguale a 1, la variabile pkg conterrà i pacchetti *non* facenti parte della release
  # Se il numero di release è uguale a 1, la variabile pkg conterrà i pacchetti *non* facenti parte della release
  case "$release" in
  case "$release" in
    "$OLDSTABLE"|oldstable)
                    release="oldstable"
                    pkg=$(aptitude -F '%p %v %t' search '~S ~i !~Aoldstable' --disable-columns | column -t) ;;
     "$STABLE"|stable)
     "$STABLE"|stable)
                     release="stable"
                     release="stable"
                     pkg=$(aptitude -F '%p %v %t' search '~S ~i !~Astable'   --disable-columns | column -t) ;;
                     pkg=$(aptitude -F '%p %v %t' search '~S ~i !~Astable'   --disable-columns | column -t) ;;
     "$TESTING"|testing)
     "$TESTING"|testing)
                     release="testing"
                     release="testing"
                     pkg=$(aptitude -F '%p %v %t' search '~S ~i !~Atesting' --disable-columns | column -t) ;;
                     pkg=$(aptitude -F '%p %v %t' search '~S ~i !~Atesting'   --disable-columns | column -t) ;;
     sid|unstable)   
     sid|unstable)   
                     release="unstable"
                     release="unstable"
                     pkg=$(aptitude -F '%p %v %t' search '~S ~i !~Aunstable' --disable-columns | column -t) ;;
                     pkg=$(aptitude -F '%p %v %t' search '~S ~i !~Aunstable' --disable-columns | column -t) ;;
  esac
  esac


Riga 1 152: Riga 1 179:
== Changelog ==
== Changelog ==
<!-- Qui vanno inserite le spiegazioni di eventuali modifiche dello script (chi, cosa, quando). Ricordarsi di modificare la versione (variabile 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 (variabile VERSIONE) all'interno del codice (la versione iniziale è 1.0.0) -->
;1.0.51
:''Aggiunti comandi "systemctl --failed", "journal -x -b --no-pager [-p [err, warning]]",''
:''"blkid", "lsblk", "dpkg --audit"''
:''"/var/log/syslog" e "dmesg" solo se non è installato systemd''
:''Aggiunta variabile globale "oldstable" e aggiornate "testing" e "stable"''
:''Modifiche minori''
:[[Utente:HAL 9000|HAL 9000]] e [[Utente:S3v|S3v]] 17:12, 4 mag 2015 (CEST)
;1.0.50
;1.0.50
:''Rivista la funzione _extpack (repository Debian''
:''Rivista la funzione _extpack (repository Debian''
Riga 1 157: Riga 1 191:
:[[Utente:S3v|S3v]] 22:37, 22 dic 2014 (CET)
:[[Utente:S3v|S3v]] 22:37, 22 dic 2014 (CET)
;1.0.49
;1.0.49
:''Aggiunti trap INT e "dpkg-foreign-architectures"''
:''Aggiunti trap INT e "dpkg --print-foreign-architectures"''
:''Spostato "dkms status" nei comandi generali''
:''Spostato "dkms status" nei comandi generali''
:[[Utente:S3v|S3v]] 21:19, 20 dic 2014 (CET)
:[[Utente:S3v|S3v]] 21:19, 20 dic 2014 (CET)
6 999

contributi