#!/bin/bash # If no su privileges available, try to get them if [[ ! "$(whoami)" == "root" ]] ; then echo "Requesting su permissions..." # Run this script with super-user priviledges sudo $0 $* # If running this script with su privs failed, advise to do so manually and exit if [[ $? > 0 ]] ; then echo echo "Acquiring su permission failed!" echo "This script must be run as super-user (sudo)." echo "(e.g. 'sudo $0' or 'sudo bash $0')" echo exit 1 fi exit 0 fi echo "Gathering system configuration..." # Collect details about system echo -ne "Hostname: " > system.log hostname >> system.log echo -ne "OS: " >> system.log lsb_release -sd >> system.log echo -ne "Kernel: " >> system.log uname -o -r -m >> system.log echo -ne "CPU: " >> system.log lscpu | grep name | awk 'BEGIN {FS="Model name:"}; {print $2}' >> system.log cat /proc/meminfo | grep MemTotal >> system.log # Collect detailed boot log and HW info dmesg > dmesg.log cat /proc/cpuinfo > cpuinfo.log dmidecode > dmidecode.log lsusb -v > lsusb.log lspci -v > lspci.log lshw > lshw.log # Archive logs echo "Preparing archive..." tar czf system-cfg.tar.bz2 system.log dmesg.log cpuinfo.log dmidecode.log lsusb.log lspci.log lshw.log # Delete logs rm system.log dmesg.log cpuinfo.log dmidecode.log lsusb.log lspci.log lshw.log echo "Done!"