asterisk/contrib/scripts/autosupport

228 lines
5.7 KiB
Bash

#!/bin/sh
#
# Collect support information
#
# Copyright (C) 2005, Digium, Inc.
#
# Written by John Bigelow (support@digium.com)
#
# Distributed under the terms of the GNU General Public
# License
#
OUTPUT=$HOME/digiuminfo.txt
MYUID=$(id -u);
if [ $MYUID -ne 0 ]; then
echo "You must be root to run this."
exit 1
fi
clear
echo
echo "This will gather information about your system such as:"
echo "pci listing, dmesg, running processes, and kernel version"
echo "This may take up to half a minute to run. Please be patient."
echo "To continue press 'y', to quit press any other key"
read ans
if [ "$ans" = "y" ]; then
rm -f $OUTPUT
echo "------------------" >> $OUTPUT;
echo "PCI LIST" >> $OUTPUT;
echo "------------------" >> $OUTPUT;
lspci -vvvb >> $OUTPUT;
echo >> $OUTPUT;
echo >> $OUTPUT;
echo "------------------" >> $OUTPUT;
echo "PCI LIST(no lookup)" >> $OUTPUT;
echo "------------------" >> $OUTPUT;
lspci -vvvbn >> $OUTPUT;
echo >> $OUTPUT;
echo >> $OUTPUT;
echo "------------------" >> $OUTPUT;
echo "INTERRUPTS" >> $OUTPUT;
echo "------------------" >> $OUTPUT;
cat /proc/interrupts >> $OUTPUT;
echo >> $OUTPUT;
echo >> $OUTPUT;
echo "------------------" >> $OUTPUT;
echo "RUNNING PROCESSES" >> $OUTPUT;
echo "------------------" >> $OUTPUT;
ps aux >> $OUTPUT;
echo >> $OUTPUT;
echo >> $OUTPUT;
echo "------------------" >> $OUTPUT;
echo "KERNEL VERSION" >> $OUTPUT;
echo "------------------" >> $OUTPUT;
uname -a >> $OUTPUT;
echo >> $OUTPUT;
echo >> $OUTPUT;
echo "------------------" >> $OUTPUT;
echo "CPU INFO" >> $OUTPUT;
echo "------------------" >> $OUTPUT;
cat /proc/cpuinfo >> $OUTPUT;
echo >> $OUTPUT;
echo >> $OUTPUT;
echo "------------------" >> $OUTPUT;
echo "VERSION INFO" >> $OUTPUT;
echo "------------------" >> $OUTPUT;
cat /proc/version >> $OUTPUT;
echo >> $OUTPUT;
echo >> $OUTPUT;
echo "------------------" >> $OUTPUT;
echo "CMDLINE INFO" >> $OUTPUT;
echo "------------------" >> $OUTPUT;
cat /proc/cmdline >> $OUTPUT;
echo >> $OUTPUT;
echo >> $OUTPUT;
echo "------------------" >> $OUTPUT;
echo "KERNEL CONFIG" >> $OUTPUT;
echo "------------------" >> $OUTPUT;
echo "/lib/modules/$(uname -r)/build/.config:" >> $OUTPUT;
cat /lib/modules/$(uname -r)/build/.config >> $OUTPUT;
echo >> $OUTPUT;
echo "/usr/src/linux/.config:" >> $OUTPUT;
cat /usr/src/linux/.config >> $OUTPUT;
echo >> $OUTPUT;
echo >> $OUTPUT;
echo "------------------" >> $OUTPUT;
echo "DAHDI MODULE INFO" >> $OUTPUT;
echo "------------------" >> $OUTPUT;
modinfo /lib/modules/$(uname -r)/dahdi/*.ko >> $OUTPUT;
echo >> $OUTPUT;
echo >> $OUTPUT;
echo "------------------" >> $OUTPUT;
echo "OTHER INFO" >> $OUTPUT;
echo "------------------" >> $OUTPUT;
echo "/etc/*issues*:" >> $OUTPUT;
cat /etc/*issues* >> $OUTPUT;
echo >> $OUTPUT;
echo "/etc/*release*:" >> $OUTPUT;
cat /etc/*release* >> $OUTPUT;
echo >> $OUTPUT;
echo "/etc/*motd*:" >> $OUTPUT;
cat /etc/*motd* >> $OUTPUT;
echo >> $OUTPUT;
echo >> $OUTPUT;
echo "------------------" >> $OUTPUT;
echo "LOADED MODULES" >> $OUTPUT;
echo "------------------" >> $OUTPUT;
lsmod >> $OUTPUT;
echo >> $OUTPUT;
echo >> $OUTPUT;
echo "------------------" >> $OUTPUT;
echo "DAHDI_TEST" >> $OUTPUT;
echo "------------------" >> $OUTPUT;
dahdi_test -c 20 >> $OUTPUT;
echo >> $OUTPUT;
echo >> $OUTPUT;
echo "------------------" >> $OUTPUT;
echo "DMESG OUTPUT" >> $OUTPUT;
echo "------------------" >> $OUTPUT;
dmesg >> $OUTPUT;
echo >> $OUTPUT;
echo >> $OUTPUT;
echo "------------------" >> $OUTPUT;
echo "DMIDECODE" >> $OUTPUT;
echo "------------------" >> $OUTPUT;
dmidecode >> $OUTPUT;
echo >> $OUTPUT;
echo >> $OUTPUT;
echo "------------------" >> $OUTPUT;
echo "DAHDI CONFIG" >> $OUTPUT;
echo "------------------" >> $OUTPUT;
grep -v '^#' /etc/dahdi/system.conf >> $OUTPUT;
echo >> $OUTPUT;
echo >> $OUTPUT;
echo "------------------" >> $OUTPUT;
echo "CHAN_DAHDI CONFIG" >> $OUTPUT;
echo "------------------" >> $OUTPUT;
grep -v '^;' /etc/asterisk/chan_dahdi.conf >> $OUTPUT;
echo >> $OUTPUT;
echo >> $OUTPUT;
echo "------------------" >> $OUTPUT;
echo "EXTENSIONS CONFIG" >> $OUTPUT;
echo "------------------" >> $OUTPUT;
grep -v '^;' /etc/asterisk/extensions.conf >> $OUTPUT;
echo >> $OUTPUT;
echo >> $OUTPUT;
else
echo "terminated";
exit
fi
clear
echo
echo "Digium may require root level access to the system to help debug";
echo "the problem you are experiencing. Do you want to provide login";
echo "information at this time? Please note that if you do so, change";
echo "your root password to a secure temporary password for Digium support";
echo "Press 'y' for yes and any other key to exit and save the previous info collected"
read login
if [ "$login" = "y" ]; then
echo "------------------" >> $OUTPUT;
echo "LOGIN INFORMATION" >> $OUTPUT;
echo "------------------" >> $OUTPUT;
echo
echo "What is your root password?"
read rootpass
echo
echo "Root pass: "$rootpass >> $OUTPUT
echo
echo "What is your PUBLIC IP address?"
read ip
echo "IP address: "$ip >> $OUTPUT
echo
echo "Please provide any other login information that the technician"
echo "may need to know to login to the system'(press enter if not)'"
read adinfo
echo "Additional login info: "$adinfo >> $OUTPUT
clear
echo
echo "All information has been stored in $OUTPUT,"
echo "Please attach this file to an email case you already"
echo "have open with Digium Tech Support."
else
clear
echo
echo "All information except login info has been stored in $OUTPUT,"
echo "Please send this file to an email case you already"
echo "have open with Digium Tech Support."
exit
fi