Creazione automatica di un file di log per inviare quesiti al forum: differenze tra le versioni
Vai alla navigazione
Vai alla ricerca
S3v (discussione | contributi) m (→Utilizzo) |
S3v (discussione | contributi) (1.0.51) |
||
Riga 73: | Riga 73: | ||
# Versione script | # Versione script | ||
readonly VERSIONE="1.0. | 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=" | readonly OLDSTABLE="wheezy" | ||
readonly TESTING=" | 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 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 | ||
else | else | ||
tar czf "${log}.tgz" "$log" && _compress_ok || _compress_err | tar czf "${log}.tgz" "$log" && _compress_ok || _compress_err | ||
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 [ - | 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" | ||
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 | |||
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... | |||
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" | 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 | 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' | 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' | 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) |