86
contributi
Aki (discussione | contributi) |
Aki (discussione | contributi) (→Script) |
||
Riga 40: | Riga 40: | ||
* * | * * | ||
* 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. | * Versione 1.0.5 * | ||
* * | * * | ||
********************************************************************************* | ********************************************************************************* | ||
Riga 98: | Riga 98: | ||
function _split_and_send { | function _split_and_send { | ||
local chunk_prefix='pastebin' | local chunk_prefix='pastebin' | ||
local chunk_num=1 | |||
# dimensione massima del singolo file da inviare a http://paste.debian.net | # dimensione massima del singolo file da inviare a http://paste.debian.net | ||
local chunk_size='80k' | local chunk_size='80k' | ||
# rinomina | # rinomina parti di log preesistenti (se ve ne sono) | ||
# scarta i messaggi di errore (se presenti) | # scarta i messaggi di errore (se presenti) | ||
rename "s/$chunk_prefix/old-$chunk_prefix-$(date +%s)/g" $chunk_prefix.* > /dev/null 2>&1 | rename "s/$chunk_prefix/old-$chunk_prefix-$(date +%s)/g" $chunk_prefix.* > /dev/null 2>&1 | ||
# dividi il file di log in | # dividi il file di log in parti di $chunk_size bytes senza spezzare le linee | ||
# scarta i messaggi di errore (se presenti) per log di dimensione superiore a 10 | # scarta i messaggi di errore (se presenti) per log di dimensione superiore a 10 parti | ||
# (max 10 | # (max 10 parti con l'opzione -a) | ||
split -a 1 -d -C $chunk_size $log $chunk_prefix. > /dev/null 2>&1 | split -a 1 -d -C $chunk_size $log $chunk_prefix. > /dev/null 2>&1 | ||
# | # comunica il numero di parti inviate | ||
chunk_num=$( ls -1 $chunk_prefix.* | wc -l ) | |||
if [ $chunk_num = 1 ]; | |||
then | |||
echo -e "\nIl log sarà inviato in un singolo file." | |||
else | |||
echo -e "\nIl log sarà inviato in $chunk_num parti." | |||
fi | |||
# invia al massimo 4 | # invia al massimo 4 parti a http://paste.debian.net | ||
echo -e "\nIl log è consultabile ai seguenti indirizzi:" | |||
for chunkfile in $chunk_prefix.{0..3}; do | for chunkfile in $chunk_prefix.{0..3}; do | ||
if [ -f $chunkfile ]; then | if [ -f $chunkfile ]; then | ||
pastelink="$(pastebinit -a "" -b http://paste.debian.net -i $chunkfile)" | pastelink="$(pastebinit -a "" -b http://paste.debian.net -i $chunkfile)" | ||
echo " | echo " $pastelink" | ||
fi | fi | ||
done | done | ||
# cancella i | # cancella i parti di log inviati | ||
# scarta i messaggi di errore (se presenti) | # scarta i messaggi di errore (se presenti) | ||
rm $chunk_prefix.{0..9} > /dev/null 2>&1 | rm $chunk_prefix.{0..9} > /dev/null 2>&1 | ||
Riga 244: | Riga 252: | ||
_unamea | _unamea | ||
_version | _version | ||
_dmesg | |||
_lsmod | |||
_lspci | _lspci | ||
_lsusb | _lsusb | ||
_fdisk | |||
_fstab | |||
_mount | |||
_df | |||
_xorg_log | |||
_sources | |||
_interfaces | _interfaces | ||
_hosts | _hosts | ||
Riga 262: | Riga 277: | ||
_nm | _nm | ||
_wicd | _wicd | ||
_iptables | _iptables | ||
) | ) | ||
Riga 277: | Riga 290: | ||
nome_e_riga "$var" | nome_e_riga "$var" | ||
if [ -x /bin/uname ]; then | if [ -x /bin/uname ]; then | ||
uname -a &>> $log && _ok "$var" || _error "$var" | /bin/uname -a &>> $log && _ok "$var" || _error "$var" | ||
else | else | ||
echo " | echo "Comando $var non trovato" >> $log && _error "$var" | ||
fi | fi | ||
} | } | ||
Riga 290: | Riga 303: | ||
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 | echo "Il file /etc/debian_version non trovato" >> $log && _error "$var" | ||
fi | fi | ||
} | } | ||
Riga 299: | Riga 312: | ||
nome_e_riga "$var" | nome_e_riga "$var" | ||
if [ -x /bin/dmesg ]; then | if [ -x /bin/dmesg ]; then | ||
dmesg &>> $log && _ok "$var" || _error "$var" | /bin/dmesg &>> $log && _ok "$var" || _error "$var" | ||
else | else | ||
echo " | echo "Comando $var non trovato" >> $log && _error "$var" | ||
fi | fi | ||
} | } | ||
Riga 310: | Riga 323: | ||
nome_e_riga "$var" | nome_e_riga "$var" | ||
if [ -x /bin/lsmod ]; then | if [ -x /bin/lsmod ]; then | ||
lsmod &>> $log && _ok "$var" || _error "$var" | /bin/lsmod &>> $log && _ok "$var" || _error "$var" | ||
else | else | ||
echo " | echo "Comando $var non trovato" >> $log && _error "$var" | ||
fi | fi | ||
} | } | ||
Riga 321: | Riga 334: | ||
nome_e_riga "$var" | nome_e_riga "$var" | ||
if [ -x /usr/bin/lspci ]; then | if [ -x /usr/bin/lspci ]; then | ||
lspci -knn &>> $log && _ok "$var" || _error "$var" | /usr/bin/lspci -knn &>> $log && _ok "$var" || _error "$var" | ||
else | else | ||
echo " | echo "Comando $var non trovato" >> $log && _error "$var" | ||
fi | fi | ||
} | } | ||
Riga 332: | Riga 345: | ||
nome_e_riga "$var" | nome_e_riga "$var" | ||
if [ -x /usr/bin/lsusb ]; then | if [ -x /usr/bin/lsusb ]; then | ||
lsusb &>> $log && _ok "$var" || _error "$var" | /usr/bin/lsusb &>> $log && _ok "$var" || _error "$var" | ||
else | |||
echo "Comando $var non trovato" >> $log && _error "$var" | |||
fi | |||
} | |||
# comando 'fdisk' | |||
function _fdisk { | |||
local var="fdisk -l" | |||
nome_e_riga "$var" | |||
if [ -x /sbin/fdisk ]; then | |||
/sbin/fdisk -l &>> $log && _ok "$var" || _error "$var" | |||
else | |||
echo "Comando $var non trovato" >> $log && _error "$var" | |||
fi | |||
} | |||
# file /etc/fstab | |||
function _fstab { | |||
local var="/etc/fstab" | |||
nome_e_riga "$var" | |||
if [ -f /etc/fstab ]; then | |||
cat /etc/fstab &>> $log && _ok "$var" || _error "$var" | |||
else | else | ||
echo "Il comando $var non | echo "Il file $var non trovato" >> $log && _error "$var" | ||
fi | |||
} | |||
# comando 'mount' | |||
function _mount { | |||
local var="mount" | |||
nome_e_riga "$var" | |||
if [ -x /bin/mount ]; then | |||
/bin/mount &>> $log && _ok "$var" || _error "$var" | |||
else | |||
echo "Comando $var non trovato" >> $log && _error "$var" | |||
fi | |||
} | |||
# comando 'df' | |||
function _df { | |||
local var="df -h" | |||
nome_e_riga "$var" | |||
if [ -x /bin/df ]; then | |||
/bin/df -h &>> $log && _ok "$var" || _error "$var" | |||
else | |||
echo "Comando $var non trovato" >> $log && _error "$var" | |||
fi | |||
} | |||
# log del server X | |||
function _xorg_log { | |||
local var="/var/log/Xorg.0.log" | |||
nome_e_riga "$var" | |||
if [ -f /var/log/Xorg.0.log ]; then | |||
cat /var/log/Xorg.0.log &>> $log && _ok "$var" || _error "$var" | |||
else | |||
echo "File $var non trovato" >> $log && _error "$var" | |||
fi | fi | ||
} | } | ||
Riga 347: | Riga 415: | ||
cat /etc/network/interfaces &>> $log && _ok "$var" || _error "$var" | cat /etc/network/interfaces &>> $log && _ok "$var" || _error "$var" | ||
else | else | ||
echo " | echo "File $var non trovato" >> $log && _error "$var" | ||
fi | fi | ||
} | } | ||
Riga 358: | Riga 426: | ||
cat /etc/hosts &>> $log && _ok "$var" || _error "$var" | cat /etc/hosts &>> $log && _ok "$var" || _error "$var" | ||
else | else | ||
echo " | echo "File /etc/hosts non trovato" >> $log && _error "$var" | ||
fi | fi | ||
} | } | ||
Riga 367: | Riga 435: | ||
nome_e_riga "$var" | nome_e_riga "$var" | ||
if [ -x /sbin/ifconfig ]; then | if [ -x /sbin/ifconfig ]; then | ||
ifconfig &>> $log && _ok "$var" || _error "$var" | /sbin/ifconfig &>> $log && _ok "$var" || _error "$var" | ||
_spazi | _spazi | ||
nome_e_riga "$var -a" | nome_e_riga "$var -a" | ||
ifconfig -a &>> $log && _ok "$var -a" || _error "$var -a" | ifconfig -a &>> $log && _ok "$var -a" || _error "$var -a" | ||
else | else | ||
echo " | echo "Comando $var non trovato" >> $log && _error "$var" | ||
fi | fi | ||
} | } | ||
Riga 383: | Riga 451: | ||
nome_e_riga "$var" | nome_e_riga "$var" | ||
if [ -x /bin/ping ]; then | if [ -x /bin/ping ]; then | ||
ping -c3 $host &>> $log && _ok "$var" || _error "$var" | /bin/ping -c3 $host &>> $log && _ok "$var" || _error "$var" | ||
else | else | ||
echo " | echo "Comando $var non trovato" >> $log && _error "$var" | ||
fi | fi | ||
} | } | ||
Riga 394: | Riga 462: | ||
nome_e_riga "$var" | nome_e_riga "$var" | ||
if [ -x /sbin/iwconfig ]; then | if [ -x /sbin/iwconfig ]; then | ||
iwconfig &>> $log && _ok "$var" || _error "$var" | /sbin/iwconfig &>> $log && _ok "$var" || _error "$var" | ||
else | else | ||
echo " | echo "Comando $var non trovato" >> $log && _error "$var" | ||
fi | fi | ||
} | } | ||
Riga 414: | Riga 482: | ||
fi | fi | ||
else | else | ||
echo " | echo "Comando $var non trovato" >> $log && _error "$var" | ||
fi | fi | ||
rm $tmpfile | rm $tmpfile | ||
Riga 423: | Riga 491: | ||
if [ -x /bin/ip ]; then | if [ -x /bin/ip ]; then | ||
nome_e_riga "ip addr list" | nome_e_riga "ip addr list" | ||
ip addr list &>> $log && _ok "ip addr list" || _error "ip addr list" | /bin/ip addr list &>> $log && _ok "ip addr list" || _error "ip addr list" | ||
_spazi | _spazi | ||
nome_e_riga "ip route list" | nome_e_riga "ip route list" | ||
ip route list &>> $log && _ok "ip route list" || _error "ip route list" | /bin/ip route list &>> $log && _ok "ip route list" || _error "ip route list" | ||
else | else | ||
echo " | echo "Comando ip non trovato" >> $log && _error "ip" | ||
fi | fi | ||
} | } | ||
Riga 437: | Riga 505: | ||
nome_e_riga "$var -n" | nome_e_riga "$var -n" | ||
if [ -x /sbin/route ]; then | if [ -x /sbin/route ]; then | ||
route -n &>> $log && _ok "$var -n" || _error "$var -n" | /sbin/route -n &>> $log && _ok "$var -n" || _error "$var -n" | ||
else | else | ||
echo " | echo "Comando $var non trovato" >> $log && _error "$var" | ||
fi | fi | ||
} | } | ||
Riga 448: | Riga 516: | ||
nome_e_riga "$var" | nome_e_riga "$var" | ||
if [ -x /sbin/iptables ]; then | if [ -x /sbin/iptables ]; then | ||
iptables -L &>> $log && _ok "$var -L" || _error "$var -L" | /sbin/iptables -L &>> $log && _ok "$var -L" || _error "$var -L" | ||
else | else | ||
echo " | echo "Comando $var non trovato" >> $log && _error "$var" | ||
fi | fi | ||
} | } | ||
Riga 463: | Riga 531: | ||
cat /etc/resolv.conf &>> $log && _ok "$var" || _error "$var" | cat /etc/resolv.conf &>> $log && _ok "$var" || _error "$var" | ||
else | else | ||
echo " | echo "File $var non trovato" >> $log && _error "$var" | ||
fi | fi | ||
} | } | ||
Riga 491: | Riga 559: | ||
ls -al ${firm_dir[$i]} >> $log | ls -al ${firm_dir[$i]} >> $log | ||
else | else | ||
echo "${firm_dir[$i]} non | echo "${firm_dir[$i]} non trovato" >> $log | ||
fi | fi | ||
done | done | ||
Riga 514: | Riga 582: | ||
cat /etc/dhclient.conf &>> $log && _ok "$var" || _error "$var" | cat /etc/dhclient.conf &>> $log && _ok "$var" || _error "$var" | ||
else | else | ||
echo " | echo "File /etc/dhclient.conf non trovato" >> $log && _error "$var" | ||
fi | fi | ||
} | } | ||
Riga 527: | Riga 595: | ||
cat /etc/apt/sources.list &>> $log && _ok "$var" || _error "$var" | cat /etc/apt/sources.list &>> $log && _ok "$var" || _error "$var" | ||
else | else | ||
echo " | echo "File $var non trovato" >> $log && _error "$var" | ||
fi | fi | ||
} | } | ||
Riga 563: | Riga 631: | ||
fi | fi | ||
} | } | ||
# -------------------------------------------------------------------------- | # -------------------------------------------------------------------------- |
contributi