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.560 ]
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."
Gerenciador de Conexões terminal server com Mysql
Gammu - Script para geração de configuração - codinome "gammuninja"
Script para configuracao rapida da eth0
Nenhum comentário foi encontrado.
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Como renomear arquivos de letras maiúsculas para minúsculas
Imprimindo no formato livreto no Linux
Vim - incrementando números em substituição
Efeito "livro" em arquivos PDF
Como resolver o erro no CUPS: Unable to get list of printer drivers
Vou voltar moderar conteúdos de Dicas e Artigos (2)
Melhorando a precisão de valores flutuantes em python[AJUDA] (8)
[Python] Automação de scan de vulnerabilidades
[Python] Script para analise de superficie de ataque
[Shell Script] Novo script para redimensionar, rotacionar, converter e espelhar arquivos de imagem
[Shell Script] Iniciador de DOOM (DSDA-DOOM, Doom Retro ou Woof!)
[Shell Script] Script para adicionar bordas às imagens de uma pasta