PC Report - Coleta lista de dispositivos instalados e logs
Publicado por Isaque Vieira de Sousa Alves (última atualização em 14/12/2010)
[ Hits: 8.970 ]
Homepage: www.isaquealves.com
Criei este script para ajudar alguns colegas que após instalar Ubuntu em seus nobos, ficavam sem conseguir conectar à internet. O script coleta informações diversas, como lista de dispositivos instalados e logs do computador.
Como o objetivo não é executá-lo em terminal modo texto, não fiz nenhuma checagem a respeito de ambiente gráfico etc. Caso haja interesse, será fácil adicionar isso.
#!/bin/sh
#
#
#Este script foi criado para ajudar a solucionar problemas de usuarios iniciantes (em fase de migração ou dualbooters)
#Ele coleta informações sobre hardware, registros de eventos do sistema (logs), etc.
#
#Para maiores informações, consulte as páginas do manual listadas abaixo:
# man alias
# man echo
# man sleep
# help if
# man read
# man apt-get
# man dpkg
# man lspci
# man ifconfig
# man tar
# Em caso de dúvidas, visite o site www.vivaolinux.com.br
#
#Autor : Isaque Vieira de Sousa Alves
#visite também www.isaquealves.com
MOUNTPOINT="vazio"
AUTH=""
YES="y"
alias appinst='sudo apt-get -y install'
echo "{FONTE}33[01;31m ====================== NOOB report generator v 0.0.2 ======================="
echo ""
echo "{FONTE}33[01;31m LEIA TUDO COM A MÁXIMA ATENÇÃO"
echo ""
sleep 1
echo "{FONTE}33[01;33m EM HIPÓTESE ALGUMA, EXECUTE O COMANDO {FONTE}33[01;31m'sudo rm -rf /' "
echo ""
sleep 1
echo ""
echo "{FONTE}33[01;32m OBS.: O ponto de montagem preferencialmente deve se referir a um pendrive ou partição ativa do computador.{FONTE}33[01;00m"
echo ""
sleep 2
ZENITY=`dpkg --status zenity | grep Status | awk '{print $4}'` #checa o status do zenity no dpkg
DEPENDENCIES=`dpkg --status zenity | grep Depend ` #obtem as dependencias do zenity
if [ $ZENITY = "installed" ] ; #verifica se o status é 'installed'
then
echo "Zenity encontrado. Iniciando inteface gráfica!!"
else
echo "Este script faz uso de Interface Gráfica utilizando o Zenity. "
echo "O Zenity não está instalado."
echo "Veja as dependencias do Zenity abaixo: "
echo $DEPENDENCIES
echo "----------"
echo " Você autoriza a instalação do zenity e de todas as suas dependências? [y | n]"
read AUTH
if [ $AUTH = "$YES" ] ;
then
appinst zenity
else
exit 0
fi
fi
zenity --info --window-icon=info.png --text "Esteja seguro sobre o ponto de montagem antes de prosseguir"
#
#Executa uma repetição enquanto a variavel MOUNTPOINT tiver como valor 'vazio'
#
until [ "$MOUNTPOINT" != "vazio" ]; do
CL="2"
#Obtem um possivel ponto de montagem para a variavel MP
MP=$(zenity --entry \
--width=400 \
--height=150 \
--title="Informe o ponto de montagem" \
--text="Ponto de montagem: (disk para /media/disk, etc) " )
#Verifica se o usuario clicou em ok
if [ $? -eq 0 ]
then
MOUNTPOINT="$MP"
CL=$(zenity --question \
--title "Cuidado !" \
--text "O dispositivo de armazenamento está montado em /media/$MOUNTPOINT.\n Esta informação está correta?" )
if [ $? -ne 0 ]
then
MOUNTPOINT="vazio"
else
MOUNTPOINT="$MP"
fi
fi
done
#Imprime as linhas abaixo para o arquivo info.txt
echo "======= Generating PC Report =======" > /media/$MOUNTPOINT/info.txt
#imprime para o arquivo info.txt a data de execução do script
echo "Executado em " `date` >> /media/$MOUNTPOINT/info.txt
#imprime para o arquivo info.txt o resultado do comando lspci: man lspci
echo " --------- LSPCI " >> /media/$MOUNTPOINT/info.txt
lspci >> /media/$MOUNTPOINT/info.txt
#imprime para o arquivo info.txt o resultado do comando lspci -vv : man lspci
echo " --------- LSPCI VV" >> /media/$MOUNTPOINT/info.txt
lspci -vv >> /media/$MOUNTPOINT/info.txt
#imprime para o arquivo info.txt o resultado do comando lspci -vvv : man lspci
echo " --------- LSPCI VVV" >> /media/$MOUNTPOINT/info.txt
lspci -vvv >> /media/$MOUNTPOINT/info.txt
#imprime para o arquivo info.txt o resultado do comando ifconfig : man ifconfig
echo " --------- IFCONFIG" >> /media/$MOUNTPOINT/info.txt
ifconfig >> /media/$MOUNTPOINT/info.txt
CL=$(zenity --question \
--title "Atenção!" \
--text "Deseja criar um arquivo compactado com os logs de seu sistema para ajudar a diagnosticar\n
o problema mais facilmente?\n É recomendado que vocẽ o faça!!" )
if [ $? -eq 0 ]
then
# @TODO Tratar a string resultante da checklist para obter os nomes dos arquivos
# a serem adicionados ao pacote (melhor estratégia)
#
#TARLOGS=$(zenity --width 300 --height 400 --list --text "Quais os logs deseja incluir no pacote? (Recomendado: todos)" \
# --checklist --column "Selecione" --column "options" \
# TRUE "/var/log/dmesg" \
# TRUE "/var/log/syslog" \
# TRUE "/var/log/X.0.log" \
# TRUE "/var/log/auth"\
# TRUE "/var/log/kern.log"\
# TRUE "/var/log/fsck" \
# TRUE "/var/log/dpkg.log" \
# --separator="\n");
sudo tar -cvvf /media/$MOUNTPOINT/info.tar /var/log/dmesg
sudo tar -rvf /media/$MOUNTPOINT/info.tar /var/log/syslog
sudo tar -rvf /media/$MOUNTPOINT/info.tar /var/log/X.0.log
sudo tar -rvf /media/$MOUNTPOINT/info.tar /var/log/auth.log
sudo tar -rvf /media/$MOUNTPOINT/info.tar /var/log/kern.log
sudo tar -rvf /media/$MOUNTPOINT/info.tar /var/log/fsck
sudo tar -rvf /media/$MOUNTPOINT/info.tar /var/log/dpkg.log
sudo tar -rvf /media/$MOUNTPOINT/info.tar /media/$MOUNTPOINT/info.txt
fi
CL=$(zenity --question \
--title "Atenção!" \
--text "Deseja abrir o diretorio onde os arquivos foram criados para conferir se tudo está correto? (É bom conferir ;) )" )
if [ $? -eq 0 ]
then
`nautilus /media/$MOUNTPOINT/`
fi
zenity --info --window-icon=info.png --text "Processo finalizado."
Desligar o servidor quando todas as estações estiverem desligadas
Script para compactar/descompactar arquivos e diretórios utilizando Xdialog
Gerenciamento de usários do Squid usando Dialog
Mostrando informações sobre conexões ppp dos clientes
Nenhum comentário foi encontrado.
Criando um painel de controle (Dashboard) para seu servidor com o Homepage
O Abismo entre o Código e o Chão: Saltos Tecnológicos e a Exclusão Estrutural no Brasil
Instalar e Configurar a santíssima trindade (PAP) no Void Linux
Conhecendo o tmux: Multiplexador de Terminal
Acessando página do Syncthing fora da máquina local
[Resolvido] Meu monitor suporta 100fps. Por que o máximo é 60fps nos jogos?
Como instalo o Clipper/Harbour no Linux Ubuntu (3)









