0 Members and 2 Guests are viewing this topic.
#!/bin/bash# Linux Lite System Information Report Tool for Ubuntu based systems.# Dependencies - lshw, dmidecode, hdparm# Developer - Misko_2083, Jerry Bezencon, Sysdrum# Creation Date - 30th November, 2013 Revision Date - 6th December 2014# Website - http://www.linuxliteos.comDATE=$(date +"%A-%d-%B-%Y-%T")rm -rf /tmp/systeminfo*# Script startif zenity --question --title="Create System Report" --text="System Report needs to collect information.\n\nClick Create Report to proceed or Cancel to exit." --ok-label="Create Report" --cancel-label="Cancel" --width=400; then# Create file and insert dateecho "===========================================================" >> /tmp/systeminfo-"${DATE}".txtecho "Report Date: "$(date +"%r, %d - %m - %Y") >> /tmp/systeminfo-"${DATE}".txtnow=$(date +"%r, %d - %m - %Y") >> /tmp/systeminfo-"${DATE}".txtecho "===========================================================" >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txt# Begin reporting information(echo "1"echo "#This Report may take a while to generate..."sleep 2echo "5"echo "#Collecting Bios & Motherboard Information..."sleep 1echo "===========================================================" >> /tmp/systeminfo-"${DATE}".txtecho "Bios & Motherboard Information" >> /tmp/systeminfo-"${DATE}".txtecho "===========================================================" >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtecho " BIOS:" >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtsudo dmidecode -t 0 >> /tmp/systeminfo-"${DATE}".txtecho " MOTHERBOARD:" >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtsudo dmidecode -t 2 >> /tmp/systeminfo-"${DATE}".txtsudo dmidecode -t 3 >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtecho "10"echo "#Collecting CPU Information..."sleep 1echo "===========================================================" >> /tmp/systeminfo-"${DATE}".txtecho "CPU Information" >> /tmp/systeminfo-"${DATE}".txtecho "===========================================================" >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtgrep "model name" /proc/cpuinfo >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtlscpu >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtecho "17"echo "#Collecting Memory Information..."sleep 1echo "===========================================================" >> /tmp/systeminfo-"${DATE}".txtecho "Memory Information" >> /tmp/systeminfo-"${DATE}".txtecho "===========================================================" >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtecho " RAM SPEED:" >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtsudo dmidecode --type 17 | grep -i speed >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtecho " PHYSICAL RAM DETAILS (one section per ram slot):" >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtsudo dmidecode --type 17 >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtecho "25"echo "#Collecting Graphics Chip Information..."sleep 1echo "===========================================================" >> /tmp/systeminfo-"${DATE}".txtecho "Graphics Chip Information" >> /tmp/systeminfo-"${DATE}".txtecho "===========================================================" >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtsudo lshw -C display >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtecho "40"echo "#Collecting Sound Information..."sleep 1echo "===========================================================" >> /tmp/systeminfo-"${DATE}".txtecho "Sound Information" >> /tmp/systeminfo-"${DATE}".txtecho "===========================================================" >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtaplay --list-devices >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtecho "45"echo "#Collecting Hard Drive/SSD Information..."sleep 1echo "===========================================================" >> /tmp/systeminfo-"${DATE}".txtecho "Hard Drive/SSD Information" >> /tmp/systeminfo-"${DATE}".txtecho "===========================================================" >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtdf -T >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtecho " MOUNT:" >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtmount >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtecho " FDISK:" >> /tmp/systeminfo-"${DATE}".txtsudo fdisk -l /dev/sda >> /tmp/systeminfo-"${DATE}".txtsudo fdisk -l /dev/sdb >> /tmp/systeminfo-"${DATE}".txtsudo fdisk -l /dev/sdc >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtecho " HDPARM:" >> /tmp/systeminfo-"${DATE}".txtsudo hdparm -i /dev/sda >> /tmp/systeminfo-"${DATE}".txtsudo hdparm -i /dev/sdb >> /tmp/systeminfo-"${DATE}".txtsudo hdparm -i /dev/sdc >> /tmp/systeminfo-"${DATE}".txtecho "50"echo "#Collecting Groups Information..."sleep 1echo "===========================================================" >> /tmp/systeminfo-"${DATE}".txtecho "Groups Information" >> /tmp/systeminfo-"${DATE}".txtecho "===========================================================" >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtgroups $USER >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtecho "55"echo "#Collecting PCI Information..."sleep 1echo "===========================================================" >> /tmp/systeminfo-"${DATE}".txtecho "PCI Information" >> /tmp/systeminfo-"${DATE}".txtecho "===========================================================" >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtlspci >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtecho "60"echo "#Collecting USB Information..."sleep 1echo "===========================================================" >> /tmp/systeminfo-"${DATE}".txtecho "USB Information" >> /tmp/systeminfo-"${DATE}".txtecho "===========================================================" >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtlsusb >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtecho "65"echo "#Collecting Kernel Modules Information..."sleep 1echo "===========================================================" >> /tmp/systeminfo-"${DATE}".txtecho "Kernel Modules Information" >> /tmp/systeminfo-"${DATE}".txtecho "===========================================================" >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtlsmod >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtecho "70"echo "#Collecting Kernel & OS Information..."sleep 1echo "===========================================================" >> /tmp/systeminfo-"${DATE}".txtecho "Kernel & Operating System Information" >> /tmp/systeminfo-"${DATE}".txtecho "===========================================================" >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtuname -a >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtlsb_release -d >> /tmp/systeminfo-"${DATE}".txtlsb_release -i >> /tmp/systeminfo-"${DATE}".txtlsb_release -c >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtecho "Based on:" >> /tmp/systeminfo-"${DATE}".txtcat /etc/issue.net >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtecho "75"echo "#Collecting Network Information..."sleep 1echo "===========================================================" >> /tmp/systeminfo-"${DATE}".txtecho "Network Information" >> /tmp/systeminfo-"${DATE}".txtecho "===========================================================" >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtifconfig >> /tmp/systeminfo-"${DATE}".txtmore /etc/network/interfaces >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtsudo lshw -C network >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtecho "80"echo "#Collecting Environment Variables..."sleep 1echo "===========================================================" >> /tmp/systeminfo-"${DATE}".txtecho "Environment Variables Information" >> /tmp/systeminfo-"${DATE}".txtecho "===========================================================" >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtprintenv >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtecho "85"echo "#Collecting Software Information..."sleep 1echo "===========================================================" >> /tmp/systeminfo-"${DATE}".txtecho "Software Installed Information" >> /tmp/systeminfo-"${DATE}".txtecho "===========================================================" >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtdpkg --list >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtecho "===========================================================" >> /tmp/systeminfo-"${DATE}".txtecho "End of Report" >> /tmp/systeminfo-"${DATE}".txtecho "===========================================================" >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtecho "#Done"echo "100") | zenity --progress --auto-close --title="Collecting System Information" --no-cancel --width=325else exitfi# Prompt user to open reportif zenity --question --title="View System Report" --text="Create System Report has collected the required system data.\n\nClick View Report to see the report or Cancel to exit." --ok-label="View Report" --cancel-label="Cancel" --width=400; then zenity --title="System Report" --text-info --width=800 --height=700 --ok-label="Save" --cancel-label="Quit" < /tmp/systeminfo-"${DATE}".txt if [ $? -ne 0 ]; then exit else #get normal users # User id MIN and MAX: grep "^UID_MIN" /etc/login.defs; grep "^UID_MAX" /etc/login.defs # Print users and groups: awk -F':' '$3>=1000 && $3<=60000 {print $1" "$3}' /etc/passwd #Generate the save list and on the first occurance of "FALSE" change it to "TRUE" LL_LIST_D=(`awk -F':' '$3>=1000 && $3<=60000 {print "FALSE","/home/"$1}' /etc/passwd |sed '0,/FALSE/s/FALSE/TRUE/'`) #Add optional save location LL_LIST_H=(`awk -F':' '$3>=1000 && $3<=60000 {print "FALSE","/home/"$1"/Desktop"}' /etc/passwd`) save_location=$(zenity --title="Create System Report: Save Location" --list --radiolist --text="Select save location then click on <b>Ok:</b>" --column="Select" --column="Save file location" --width=350 --height 200 "${LL_LIST_D[@]}" "${LL_LIST_H[@]}") if [ $? -ne 0 ]; then exit else #Extract username LL_USER=$(echo "$save_location" | cut -d'/' -f3) # Add filename to the save path SAVE_PATH=$(echo $save_location| sed 's,.*,&\/systeminfo-'"${DATE}"'.txt,g') # copy the file from /tmp cp /tmp/systeminfo-"${DATE}".txt $save_location #Change owner of the file to LL_USER sudo chown $LL_USER $SAVE_PATH fi fielse exitfiexit
sysdrum, thanks for the UI adjustments, but bash arrays are missing in the zenity list dialog. "${LL_LIST_D}"
Just out of curiosity, what's the benefit of using this script vs. HardInfo?
#!/bin/bash# Linux Lite System Information Report Tool for Ubuntu based systems.# Dependencies - lshw, dmidecode, hdparm# Developer - Misko_2083, Jerry Bezencon, Sysdrum# Creation Date - 30th November, 2013 Revision Date - 2nd December 2014# Website - http://www.linuxliteos.comDATE=$(date +"%A-%d-%B-%Y-%T")rm -rf /tmp/systeminfo*# Script startif zenity --question --title="Create System Report" --text="System Report needs to collect information. Click Create Report to proceed or Cancel to exit System Report." --ok-label="Create Report" --cancel-label="Cancel" --width=400; then# Create file and insert dateecho "===========================================================" >> /tmp/systeminfo-"${DATE}".txtecho "Report Date: "$(date +"%r, %d - %m - %Y") >> /tmp/systeminfo-"${DATE}".txtnow=$(date +"%r, %d - %m - %Y") >> /tmp/systeminfo-"${DATE}".txtecho "===========================================================" >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txt# Begin reporting information(echo "1"echo "#This Report may take a while to generate..."sleep 2echo "5"echo "#Collecting Bios & Motherboard Information..."sleep 1echo "===========================================================" >> /tmp/systeminfo-"${DATE}".txtecho "Bios & Motherboard Information" >> /tmp/systeminfo-"${DATE}".txtecho "===========================================================" >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtecho " BIOS:" >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtsudo dmidecode -t 0 >> /tmp/systeminfo-"${DATE}".txtecho " MOTHERBOARD:" >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtsudo dmidecode -t 2 >> /tmp/systeminfo-"${DATE}".txtsudo dmidecode -t 3 >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtecho "10"echo "#CPU Information..."sleep 1echo "===========================================================" >> /tmp/systeminfo-"${DATE}".txtecho "CPU Information" >> /tmp/systeminfo-"${DATE}".txtecho "===========================================================" >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtgrep "model name" /proc/cpuinfo >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtlscpu >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtecho "17"echo "#Collecting Memory Information..."sleep 1echo "===========================================================" >> /tmp/systeminfo-"${DATE}".txtecho "Memory Information" >> /tmp/systeminfo-"${DATE}".txtecho "===========================================================" >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtecho " RAM SPEED:" >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtsudo dmidecode --type 17 | grep -i speed >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtecho " PHYSICAL RAM DETAILS (one section per ram slot):" >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtsudo dmidecode --type 17 >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtecho "25"echo "#Collecting Graphics Chip Information..."sleep 1echo "===========================================================" >> /tmp/systeminfo-"${DATE}".txtecho "Graphics Chip Information" >> /tmp/systeminfo-"${DATE}".txtecho "===========================================================" >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtsudo lshw -C display >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtecho "40"echo "#Collecting Sound Information..."sleep 1echo "===========================================================" >> /tmp/systeminfo-"${DATE}".txtecho "Sound Information" >> /tmp/systeminfo-"${DATE}".txtecho "===========================================================" >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtaplay --list-devices >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtecho "45"echo "#Collecting Hard Drive/SSD Information..."sleep 1echo "===========================================================" >> /tmp/systeminfo-"${DATE}".txtecho "Hard Drive/SSD Information" >> /tmp/systeminfo-"${DATE}".txtecho "===========================================================" >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtdf -T >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtecho " MOUNT:" >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtmount >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtecho " FDISK:" >> /tmp/systeminfo-"${DATE}".txtsudo fdisk -l /dev/sda >> /tmp/systeminfo-"${DATE}".txtsudo fdisk -l /dev/sdb >> /tmp/systeminfo-"${DATE}".txtsudo fdisk -l /dev/sdc >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtecho " HDPARM:" >> /tmp/systeminfo-"${DATE}".txtsudo hdparm -i /dev/sda >> /tmp/systeminfo-"${DATE}".txtsudo hdparm -i /dev/sdb >> /tmp/systeminfo-"${DATE}".txtsudo hdparm -i /dev/sdc >> /tmp/systeminfo-"${DATE}".txtecho "50"echo "#Collecting Groups Information..."sleep 1echo "===========================================================" >> /tmp/systeminfo-"${DATE}".txtecho "Groups Information" >> /tmp/systeminfo-"${DATE}".txtecho "===========================================================" >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtgroups $USER >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtecho "55"echo "#Collecting PCI Information..."sleep 1echo "===========================================================" >> /tmp/systeminfo-"${DATE}".txtecho "PCI Information" >> /tmp/systeminfo-"${DATE}".txtecho "===========================================================" >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtlspci >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtecho "60"echo "#Collecting USB Information..."sleep 1echo "===========================================================" >> /tmp/systeminfo-"${DATE}".txtecho "USB Information" >> /tmp/systeminfo-"${DATE}".txtecho "===========================================================" >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtlsusb >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtecho "65"echo "#Collecting Kernel Modules Information..."sleep 1echo "===========================================================" >> /tmp/systeminfo-"${DATE}".txtecho "Kernel Modules Information" >> /tmp/systeminfo-"${DATE}".txtecho "===========================================================" >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtlsmod >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtecho "70"echo "#Collecting Kernel & OS Information..."sleep 1echo "===========================================================" >> /tmp/systeminfo-"${DATE}".txtecho "Kernel & Operating System Information" >> /tmp/systeminfo-"${DATE}".txtecho "===========================================================" >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtuname -a >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtlsb_release -d >> /tmp/systeminfo-"${DATE}".txtlsb_release -i >> /tmp/systeminfo-"${DATE}".txtlsb_release -c >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtecho "Based on:" >> /tmp/systeminfo-"${DATE}".txtcat /etc/issue.net >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtecho "75"echo "#Collecting Network Information..."sleep 1echo "===========================================================" >> /tmp/systeminfo-"${DATE}".txtecho "Network Information" >> /tmp/systeminfo-"${DATE}".txtecho "===========================================================" >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtifconfig >> /tmp/systeminfo-"${DATE}".txtmore /etc/network/interfaces >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtsudo lshw -C network >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtecho "80"echo "#Collecting Environment Variables..."sleep 1echo "===========================================================" >> /tmp/systeminfo-"${DATE}".txtecho "Environment Variables Information" >> /tmp/systeminfo-"${DATE}".txtecho "===========================================================" >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtprintenv >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtecho "85"echo "#Collecting Software Information..."sleep 1echo "===========================================================" >> /tmp/systeminfo-"${DATE}".txtecho "Software Installed Information" >> /tmp/systeminfo-"${DATE}".txtecho "===========================================================" >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtdpkg --list >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtecho "===========================================================" >> /tmp/systeminfo-"${DATE}".txtecho "End of Report" >> /tmp/systeminfo-"${DATE}".txtecho "===========================================================" >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtecho "#Done"echo "100") | zenity --progress --auto-close --title="Collecting System Information" --no-cancel --width=325else exitfi# Prompt user to open reportif zenity --question --title="View System Report" --text="System Report has collected required system data. Click View Report to see the report or Cancel to exit System Report." --ok-label="View Report" --cancel-label="Cancel" --width=400; then zenity --title="System Report" --text-info --width=800 --height=700 --ok-label="Save" --cancel-label="Quit" < /tmp/systeminfo-"${DATE}".txt if [ $? -ne 0 ]; then exit else #get normal users # User id MIN and MAX: grep "^UID_MIN" /etc/login.defs; grep "^UID_MAX" /etc/login.defs # Print users and groups: awk -F':' '$3>=1000 && $3<=60000 {print $1" "$3}' /etc/passwd #Generate the save list and on the first occurance of "FALSE" change it to "TRUE" LL_LIST_D=(`awk -F':' '$3>=1000 && $3<=60000 {print "FALSE","/home/"$1}' /etc/passwd |sed '0,/FALSE/s/FALSE/TRUE/'`) #Add optional save location LL_LIST_H=(`awk -F':' '$3>=1000 && $3<=60000 {print "FALSE","/home/"$1"/Desktop"}' /etc/passwd`) save_location=$(zenity --title="System Report Save Location" --list --radiolist --text="Select save location:" --column="Select" --column="Save file location:" --width=325 "${LL_LIST_D[@]}" "${LL_LIST_H[@]}") if [ $? -ne 0 ]; then exit else #Extract username LL_USER=$(echo "$save_location" | cut -d'/' -f3) # Add filename to the save path SAVE_PATH=$(echo $save_location| sed 's,.*,&\/systeminfo-'"${DATE}"'.txt,g') # copy the file from /tmp cp /tmp/systeminfo-"${DATE}".txt $save_location #Change owner of the file to LL_USER sudo chown $LL_USER $SAVE_PATH fi fielse exitfiexit
#!/bin/bash# Linux Lite System Information Report Tool for Ubuntu based systems# Dependencies - lshw, dmidecode, hdparm# Developer - Misko_2083, Jerry Bezencon# Creation Date - 30th November, 2013# Website - http://www.linuxliteos.comDATE=$(date +"%A-%d-%B-%Y-%T")rm -rf /tmp/systeminfo*# Script startif zenity --question --title="Create System Report" --text="Click Yes to proceed or No to cancel" --width=400; then# Create file and insert dateecho "===========================================================" >> /tmp/systeminfo-"${DATE}".txtecho "Report Date: "$(date +"%r, %d - %m - %Y") >> /tmp/systeminfo-"${DATE}".txtnow=$(date +"%r, %d - %m - %Y") >> /tmp/systeminfo-"${DATE}".txtecho "===========================================================" >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txt# Begin reporting information(echo "1"echo "#This Report may take a while to generate..."sleep 2echo "5"echo "#Collecting Bios & Motherboard Information..."sleep 1echo "===========================================================" >> /tmp/systeminfo-"${DATE}".txtecho "Bios & Motherboard Information" >> /tmp/systeminfo-"${DATE}".txtecho "===========================================================" >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtecho " BIOS:" >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtsudo dmidecode -t 0 >> /tmp/systeminfo-"${DATE}".txtecho " MOTHERBOARD:" >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtsudo dmidecode -t 2 >> /tmp/systeminfo-"${DATE}".txtsudo dmidecode -t 3 >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtecho "10"echo "#CPU Information..."sleep 1echo "===========================================================" >> /tmp/systeminfo-"${DATE}".txtecho "CPU Information" >> /tmp/systeminfo-"${DATE}".txtecho "===========================================================" >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtgrep "model name" /proc/cpuinfo >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtlscpu >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtecho "17"echo "#Collecting Memory Information..."sleep 1echo "===========================================================" >> /tmp/systeminfo-"${DATE}".txtecho "Memory Information" >> /tmp/systeminfo-"${DATE}".txtecho "===========================================================" >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtecho " RAM SPEED:" >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtsudo dmidecode --type 17 | grep -i speed >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtecho " PHYSICAL RAM DETAILS (one section per ram slot):" >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtsudo dmidecode --type 17 >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtecho "25"echo "#Collecting Graphics Chip Information..."sleep 1echo "===========================================================" >> /tmp/systeminfo-"${DATE}".txtecho "Graphics Chip Information" >> /tmp/systeminfo-"${DATE}".txtecho "===========================================================" >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtsudo lshw -C display >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtecho "40"echo "#Collecting Sound Information..."sleep 1echo "===========================================================" >> /tmp/systeminfo-"${DATE}".txtecho "Sound Information" >> /tmp/systeminfo-"${DATE}".txtecho "===========================================================" >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtaplay --list-devices >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtecho "45"echo "#Collecting Hard Drive/SSD Information..."sleep 1echo "===========================================================" >> /tmp/systeminfo-"${DATE}".txtecho "Hard Drive/SSD Information" >> /tmp/systeminfo-"${DATE}".txtecho "===========================================================" >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtdf -T >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtecho " MOUNT:" >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtmount >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtecho " FDISK:" >> /tmp/systeminfo-"${DATE}".txtsudo fdisk -l /dev/sda >> /tmp/systeminfo-"${DATE}".txtsudo fdisk -l /dev/sdb >> /tmp/systeminfo-"${DATE}".txtsudo fdisk -l /dev/sdc >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtecho " HDPARM:" >> /tmp/systeminfo-"${DATE}".txtsudo hdparm -i /dev/sda >> /tmp/systeminfo-"${DATE}".txtsudo hdparm -i /dev/sdb >> /tmp/systeminfo-"${DATE}".txtsudo hdparm -i /dev/sdc >> /tmp/systeminfo-"${DATE}".txtecho "50"echo "#Collecting Groups Information..."sleep 1echo "===========================================================" >> /tmp/systeminfo-"${DATE}".txtecho "Groups Information" >> /tmp/systeminfo-"${DATE}".txtecho "===========================================================" >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtgroups $USER >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtecho "55"echo "#Collecting PCI Information..."sleep 1echo "===========================================================" >> /tmp/systeminfo-"${DATE}".txtecho "PCI Information" >> /tmp/systeminfo-"${DATE}".txtecho "===========================================================" >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtlspci >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtecho "60"echo "#Collecting USB Information..."sleep 1echo "===========================================================" >> /tmp/systeminfo-"${DATE}".txtecho "USB Information" >> /tmp/systeminfo-"${DATE}".txtecho "===========================================================" >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtlsusb >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtecho "65"echo "#Collecting Kernel Modules Information..."sleep 1echo "===========================================================" >> /tmp/systeminfo-"${DATE}".txtecho "Kernel Modules Information" >> /tmp/systeminfo-"${DATE}".txtecho "===========================================================" >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtlsmod >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtecho "70"echo "#Collecting Kernel & OS Information..."sleep 1echo "===========================================================" >> /tmp/systeminfo-"${DATE}".txtecho "Kernel & Operating System Information" >> /tmp/systeminfo-"${DATE}".txtecho "===========================================================" >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtuname -a >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtlsb_release -d >> /tmp/systeminfo-"${DATE}".txtlsb_release -i >> /tmp/systeminfo-"${DATE}".txtlsb_release -c >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtecho "Based on:" >> /tmp/systeminfo-"${DATE}".txtcat /etc/issue.net >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtecho "75"echo "#Collecting Network Information..."sleep 1echo "===========================================================" >> /tmp/systeminfo-"${DATE}".txtecho "Network Information" >> /tmp/systeminfo-"${DATE}".txtecho "===========================================================" >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtifconfig >> /tmp/systeminfo-"${DATE}".txtmore /etc/network/interfaces >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtsudo lshw -C network >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtecho "80"echo "#Collecting Environment Variables..."sleep 1echo "===========================================================" >> /tmp/systeminfo-"${DATE}".txtecho "Environment Variables Information" >> /tmp/systeminfo-"${DATE}".txtecho "===========================================================" >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtprintenv >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtecho "85"echo "#Collecting Software Information..."sleep 1echo "===========================================================" >> /tmp/systeminfo-"${DATE}".txtecho "Software Installed Information" >> /tmp/systeminfo-"${DATE}".txtecho "===========================================================" >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtdpkg --list >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtecho "===========================================================" >> /tmp/systeminfo-"${DATE}".txtecho "End of Report" >> /tmp/systeminfo-"${DATE}".txtecho "===========================================================" >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtecho "#Done"echo "100") | zenity --progress --auto-close --title="Collecting System Information..." --no-cancel --width=400else exitfi# Prompt user to open reportif zenity --question --title="Create System Report" --text="Click View Report or Quit" --ok-label="View Report" --cancel-label="Quit" --width=400; then zenity --text-info --width=800 --height=700 --ok-label="Save" --cancel-label="Quit" < /tmp/systeminfo-"${DATE}".txt if [ $? -ne 0 ]; then exit else #get normal users # User id MIN and MAX: grep "^UID_MIN" /etc/login.defs; grep "^UID_MAX" /etc/login.defs # Print users and groups: awk -F':' '$3>=1000 && $3<=60000 {print $1" "$3}' /etc/passwd #Generate the save list and on the first occurance of "FALSE" change it to "TRUE" LL_LIST_D=(`awk -F':' '$3>=1000 && $3<=60000 {print "FALSE","/home/"$1}' /etc/passwd |sed '0,/FALSE/s/FALSE/TRUE/'`) #Add optional save location LL_LIST_H=(`awk -F':' '$3>=1000 && $3<=60000 {print "FALSE","/home/"$1"/Desktop"}' /etc/passwd`) save_location=$(zenity --list --radiolist --text="Select the save location" --column="1" --column="2" "${LL_LIST_D[@]}" "${LL_LIST_H[@]}") if [ $? -ne 0 ]; then exit else #Extract username LL_USER=$(echo "$save_location" | cut -d'/' -f3) # Add filename to the save path SAVE_PATH=$(echo $save_location| sed 's,.*,&\/systeminfo-'"${DATE}"'.txt,g') # copy the file from /tmp cp /tmp/systeminfo-"${DATE}".txt $save_location #Change owner of the file to LL_USER sudo chown $LL_USER $SAVE_PATH fi fielse exitfiexit
I am working on clean up, did you ever look at the code I updated here:https://www.linuxliteos.com/forums/index.php?topic=1145.0
#!/bin/bash# Linux Lite System Information Report Tool for Ubuntu based systems# Dependencies - lshw, dmidecode, hdparm# Developer - Misko_2083, Jerry Bezencon# Creation Date - 30th November, 2013# Website - http://www.linuxliteos.comDATE=$(date +"%A-%d-%B-%Y-%T")rm -rf /tmp/systeminfo*# Script startif zenity --question --title="Create System Report" --text="Click Yes to proceed or No to cancel"; then# Create file and insert dateecho "===========================================================" >> /tmp/systeminfo-"${DATE}".txtecho "Report Date: "$(date +"%r, %d - %m - %Y") >> /tmp/systeminfo-"${DATE}".txtnow=$(date +"%r, %d - %m - %Y") >> /tmp/systeminfo-"${DATE}".txtecho "===========================================================" >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txt# Begin reporting information(echo "1"echo "#This Report may take a while to generate..."sleep 2echo "5"echo "#Collecting Bios & Motherboard Information..."sleep 1echo "===========================================================" >> /tmp/systeminfo-"${DATE}".txtecho "Bios & Motherboard Information" >> /tmp/systeminfo-"${DATE}".txtecho "===========================================================" >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtecho " BIOS:" >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtsudo dmidecode -t 0 >> /tmp/systeminfo-"${DATE}".txtecho " MOTHERBOARD:" >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtsudo dmidecode -t 2 >> /tmp/systeminfo-"${DATE}".txtsudo dmidecode -t 3 >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtecho "10"echo "#CPU Information..."sleep 1echo "===========================================================" >> /tmp/systeminfo-"${DATE}".txtecho "CPU Information" >> /tmp/systeminfo-"${DATE}".txtecho "===========================================================" >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtgrep "model name" /proc/cpuinfo >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtlscpu >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtecho "17"echo "#Collecting Memory Information..."sleep 1echo "===========================================================" >> /tmp/systeminfo-"${DATE}".txtecho "Memory Information" >> /tmp/systeminfo-"${DATE}".txtecho "===========================================================" >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtecho " RAM SPEED:" >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtsudo dmidecode --type 17 | grep -i speed >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtecho " PHYSICAL RAM DETAILS (one section per ram slot):" >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtsudo dmidecode --type 17 >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtecho "25"echo "#Collecting Graphics Chip Information..."sleep 1echo "===========================================================" >> /tmp/systeminfo-"${DATE}".txtecho "Graphics Chip Information" >> /tmp/systeminfo-"${DATE}".txtecho "===========================================================" >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtsudo lshw -C display >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtecho "40"echo "#Collecting Sound Information..."sleep 1echo "===========================================================" >> /tmp/systeminfo-"${DATE}".txtecho "Sound Information" >> /tmp/systeminfo-"${DATE}".txtecho "===========================================================" >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtaplay --list-devices >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtecho "45"echo "#Collecting Hard Drive/SSD Information..."sleep 1echo "===========================================================" >> /tmp/systeminfo-"${DATE}".txtecho "Hard Drive/SSD Information" >> /tmp/systeminfo-"${DATE}".txtecho "===========================================================" >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtdf -T >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtecho " MOUNT:" >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtmount >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtecho " FDISK:" >> /tmp/systeminfo-"${DATE}".txtsudo fdisk -l /dev/sda >> /tmp/systeminfo-"${DATE}".txtsudo fdisk -l /dev/sdb >> /tmp/systeminfo-"${DATE}".txtsudo fdisk -l /dev/sdc >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtecho " HDPARM:" >> /tmp/systeminfo-"${DATE}".txtsudo hdparm -i /dev/sda >> /tmp/systeminfo-"${DATE}".txtsudo hdparm -i /dev/sdb >> /tmp/systeminfo-"${DATE}".txtsudo hdparm -i /dev/sdc >> /tmp/systeminfo-"${DATE}".txtecho "50"echo "#Collecting Groups Information..."sleep 1echo "===========================================================" >> /tmp/systeminfo-"${DATE}".txtecho "Groups Information" >> /tmp/systeminfo-"${DATE}".txtecho "===========================================================" >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtgroups $USER >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtecho "55"echo "#Collecting PCI Information..."sleep 1echo "===========================================================" >> /tmp/systeminfo-"${DATE}".txtecho "PCI Information" >> /tmp/systeminfo-"${DATE}".txtecho "===========================================================" >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtlspci >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtecho "60"echo "#Collecting USB Information..."sleep 1echo "===========================================================" >> /tmp/systeminfo-"${DATE}".txtecho "USB Information" >> /tmp/systeminfo-"${DATE}".txtecho "===========================================================" >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtlsusb >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtecho "65"echo "#Collecting Kernel Modules Information..."sleep 1echo "===========================================================" >> /tmp/systeminfo-"${DATE}".txtecho "Kernel Modules Information" >> /tmp/systeminfo-"${DATE}".txtecho "===========================================================" >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtlsmod >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtecho "70"echo "#Collecting Kernel & OS Information..."sleep 1echo "===========================================================" >> /tmp/systeminfo-"${DATE}".txtecho "Kernel & Operating System Information" >> /tmp/systeminfo-"${DATE}".txtecho "===========================================================" >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtuname -a >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtlsb_release -d >> /tmp/systeminfo-"${DATE}".txtlsb_release -i >> /tmp/systeminfo-"${DATE}".txtlsb_release -c >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtecho "Based on:" >> /tmp/systeminfo-"${DATE}".txtcat /etc/issue.net >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtecho "75"echo "#Collecting Network Information..."sleep 1echo "===========================================================" >> /tmp/systeminfo-"${DATE}".txtecho "Network Information" >> /tmp/systeminfo-"${DATE}".txtecho "===========================================================" >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtifconfig >> /tmp/systeminfo-"${DATE}".txtmore /etc/network/interfaces >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtsudo lshw -C network >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtecho "80"echo "#Collecting Environment Variables..."sleep 1echo "===========================================================" >> /tmp/systeminfo-"${DATE}".txtecho "Environment Variables Information" >> /tmp/systeminfo-"${DATE}".txtecho "===========================================================" >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtprintenv >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtecho "85"echo "#Collecting Software Information..."sleep 1echo "===========================================================" >> /tmp/systeminfo-"${DATE}".txtecho "Software Installed Information" >> /tmp/systeminfo-"${DATE}".txtecho "===========================================================" >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtdpkg --list >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtecho "===========================================================" >> /tmp/systeminfo-"${DATE}".txtecho "End of Report" >> /tmp/systeminfo-"${DATE}".txtecho "===========================================================" >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtecho "#Done"echo "100") | zenity --progress --auto-close --title="Collecting System Information..." --no-cancelelse exitfi# Prompt user to open reportif zenity --question --title="Create System Report" --text="Click View Report or Quit" --ok-label="View Report" --cancel-label="Quit" ; then zenity --text-info --width=800 --height=700 --ok-label="Save" --cancel-label="Quit" < /tmp/systeminfo-"${DATE}".txt if [ $? -ne 0 ]; then exit else #get normal users # User id MIN and MAX: grep "^UID_MIN" /etc/login.defs; grep "^UID_MAX" /etc/login.defs # Print users and groups: awk -F':' '$3>=1000 && $3<=60000 {print $1" "$3}' /etc/passwd #Generate the save list and on the first occurance of "FALSE" change it to "TRUE" LL_LIST_D=(`awk -F':' '$3>=1000 && $3<=60000 {print "FALSE","/home/"$1}' /etc/passwd |sed '0,/FALSE/s/FALSE/TRUE/'`) #Add optional save location LL_LIST_H=(`awk -F':' '$3>=1000 && $3<=60000 {print "FALSE","/home/"$1"/Desktop"}' /etc/passwd`) save_location=$(zenity --list --radiolist --text="Select the save location" --column="1" --column="2" "${LL_LIST_D[@]}" "${LL_LIST_H[@]}") if [ $? -ne 0 ]; then exit else #Extract username LL_USER=$(echo "$save_location" | cut -d'/' -f3) # Add filename to the save path SAVE_PATH=$(echo $save_location| sed 's,.*,&\/systeminfo-'"${DATE}"'.txt,g') # copy the file from /tmp cp /tmp/systeminfo-"${DATE}".txt $save_location #Change owner of the file to LL_USER sudo chown $LL_USER $SAVE_PATH fi fielse exitfiexit
#!/bin/bash# Linux Lite System Information Report Tool for Ubuntu based systems# Dependencies - lshw, dmidecode, hdparm# Developer - Misko_2083, Jerry Bezencon# Creation Date - 30th November, 2013# Website - http://www.linuxliteos.comDATE=$(date +"%A-%d-%B-%Y-%T")rm -rf /tmp/systeminfo*# Script startif zenity --question --title="Create System Report" --text="Click Yes to proceed or No to cancel" --width=400; then# Create file and insert dateecho "===========================================================" >> /tmp/systeminfo-"${DATE}".txtecho "Report Date: "$(date +"%r, %d - %m - %Y") >> /tmp/systeminfo-"${DATE}".txtnow=$(date +"%r, %d - %m - %Y") >> /tmp/systeminfo-"${DATE}".txtecho "===========================================================" >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txt# Begin reporting information(echo "1"echo "#This Report may take a while to generate..."sleep 2echo "5"echo "#Collecting Bios & Motherboard Information..."sleep 1echo "===========================================================" >> /tmp/systeminfo-"${DATE}".txtecho "Bios & Motherboard Information" >> /tmp/systeminfo-"${DATE}".txtecho "===========================================================" >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtecho " BIOS:" >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtsudo dmidecode -t 0 >> /tmp/systeminfo-"${DATE}".txtecho " MOTHERBOARD:" >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtsudo dmidecode -t 2 >> /tmp/systeminfo-"${DATE}".txtsudo dmidecode -t 3 >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtecho "10"echo "#CPU Information..."sleep 1echo "===========================================================" >> /tmp/systeminfo-"${DATE}".txtecho "CPU Information" >> /tmp/systeminfo-"${DATE}".txtecho "===========================================================" >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtgrep "model name" /proc/cpuinfo >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtlscpu >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtecho "17"echo "#Collecting Memory Information..."sleep 1echo "===========================================================" >> /tmp/systeminfo-"${DATE}".txtecho "Memory Information" >> /tmp/systeminfo-"${DATE}".txtecho "===========================================================" >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtecho " RAM SPEED:" >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtsudo dmidecode --type 17 | grep -i speed >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtecho " PHYSICAL RAM DETAILS (one section per ram slot):" >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtsudo dmidecode --type 17 >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtecho "25"echo "#Collecting Graphics Chip Information..."sleep 1echo "===========================================================" >> /tmp/systeminfo-"${DATE}".txtecho "Graphics Chip Information" >> /tmp/systeminfo-"${DATE}".txtecho "===========================================================" >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtsudo lshw -C display >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtecho "40"echo "#Collecting Sound Information..."sleep 1echo "===========================================================" >> /tmp/systeminfo-"${DATE}".txtecho "Sound Information" >> /tmp/systeminfo-"${DATE}".txtecho "===========================================================" >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtaplay --list-devices >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtecho "45"echo "#Collecting Hard Drive/SSD Information..."sleep 1echo "===========================================================" >> /tmp/systeminfo-"${DATE}".txtecho "Hard Drive/SSD Information" >> /tmp/systeminfo-"${DATE}".txtecho "===========================================================" >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtdf -T >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtecho " MOUNT:" >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtmount >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtecho " FDISK:" >> /tmp/systeminfo-"${DATE}".txtsudo fdisk -l /dev/sda >> /tmp/systeminfo-"${DATE}".txtsudo fdisk -l /dev/sdb >> /tmp/systeminfo-"${DATE}".txtsudo fdisk -l /dev/sdc >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtecho " HDPARM:" >> /tmp/systeminfo-"${DATE}".txtsudo hdparm -i /dev/sda >> /tmp/systeminfo-"${DATE}".txtsudo hdparm -i /dev/sdb >> /tmp/systeminfo-"${DATE}".txtsudo hdparm -i /dev/sdc >> /tmp/systeminfo-"${DATE}".txtecho "50"echo "#Collecting Groups Information..."sleep 1echo "===========================================================" >> /tmp/systeminfo-"${DATE}".txtecho "Groups Information" >> /tmp/systeminfo-"${DATE}".txtecho "===========================================================" >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtgroups $USER >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtecho "55"echo "#Collecting PCI Information..."sleep 1echo "===========================================================" >> /tmp/systeminfo-"${DATE}".txtecho "PCI Information" >> /tmp/systeminfo-"${DATE}".txtecho "===========================================================" >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtlspci >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtecho "60"echo "#Collecting USB Information..."sleep 1echo "===========================================================" >> /tmp/systeminfo-"${DATE}".txtecho "USB Information" >> /tmp/systeminfo-"${DATE}".txtecho "===========================================================" >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtlsusb >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtecho "65"echo "#Collecting Kernel Modules Information..."sleep 1echo "===========================================================" >> /tmp/systeminfo-"${DATE}".txtecho "Kernel Modules Information" >> /tmp/systeminfo-"${DATE}".txtecho "===========================================================" >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtlsmod >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtecho "70"echo "#Collecting Kernel & OS Information..."sleep 1echo "===========================================================" >> /tmp/systeminfo-"${DATE}".txtecho "Kernel & Operating System Information" >> /tmp/systeminfo-"${DATE}".txtecho "===========================================================" >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtuname -a >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtlsb_release -d >> /tmp/systeminfo-"${DATE}".txtlsb_release -i >> /tmp/systeminfo-"${DATE}".txtlsb_release -c >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtecho "Based on:" >> /tmp/systeminfo-"${DATE}".txtcat /etc/issue.net >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtecho "75"echo "#Collecting Network Information..."sleep 1echo "===========================================================" >> /tmp/systeminfo-"${DATE}".txtecho "Network Information" >> /tmp/systeminfo-"${DATE}".txtecho "===========================================================" >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtifconfig >> /tmp/systeminfo-"${DATE}".txtmore /etc/network/interfaces >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtsudo lshw -C network >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtecho "80"echo "#Collecting Environment Variables..."sleep 1echo "===========================================================" >> /tmp/systeminfo-"${DATE}".txtecho "Environment Variables Information" >> /tmp/systeminfo-"${DATE}".txtecho "===========================================================" >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtprintenv >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtecho "85"echo "#Collecting Software Information..."sleep 1echo "===========================================================" >> /tmp/systeminfo-"${DATE}".txtecho "Software Installed Information" >> /tmp/systeminfo-"${DATE}".txtecho "===========================================================" >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtdpkg --list >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtecho "===========================================================" >> /tmp/systeminfo-"${DATE}".txtecho "End of Report" >> /tmp/systeminfo-"${DATE}".txtecho "===========================================================" >> /tmp/systeminfo-"${DATE}".txtecho "" >> /tmp/systeminfo-"${DATE}".txtecho "#Done"echo "100") | zenity --progress --auto-close --title="Collecting System Information..." --width=400 --no-cancelelse exitfi# Prompt user to open reportif zenity --question --title="Create System Report" --text="Click View Report or Quit" --ok-label="View Report" --cancel-label="Quit" --width=400; then zenity --text-info --width=800 --height=700 --ok-label="Save" --cancel-label="Close" < /tmp/systeminfo-"${DATE}".txt if [ $? -ne 0 ]; then exit else #get normal users # User id MIN and MAX: grep "^UID_MIN" /etc/login.defs; grep "^UID_MAX" /etc/login.defs # Print users and groups: awk -F':' '$3>=1000 && $3<=60000 {print $1" "$3}' /etc/passwd LL_USER=(`awk -F':' '$3>=1000 && $3<=60000 {print "/home/"$1"/Desktop"}' /etc/passwd`) save_location=$(zenity --list --text="Select the save location" --column="1" "${LL_USER[@]}") if [ $? -ne 0 ]; then exit else cp /tmp/systeminfo-"${DATE}".txt $save_location # chown fi fielse exitfiexit