-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathmachine-hardware-configuration-details.sh
More file actions
executable file
·141 lines (134 loc) · 5.94 KB
/
machine-hardware-configuration-details.sh
File metadata and controls
executable file
·141 lines (134 loc) · 5.94 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
#!/bin/bash
# Author: Zakir Shaikh
# github.com/searchzakir
# linkedin.com/in/searchzakir
logger -s "running script ($0) by user (`whoami`) and pid = ($$)"
# It is always better to know first hand the machine's or server's hardware configuration
# If you want to have Virtual Machines, then script can be handy to know info about the main server on which the VM's will be forked, as & when required
#
# Initialising the Script Output File
OUT="/tmp/machine-hardware-configuration-details-`hostname -f`.out"
> $OUT
echo -e "\n\n" >> $OUT
echo "Installing necessary packages to get the information of machine hardware configurations ..." >> $OUT 2>&1
echo "Commands that will be used in this script are ... fdisk,df,free,smartctl,lscpu,cpuid,nproc,dmesg,lshw,lsblk,lspci,dmidecode,hdparm,badblocks,sginfo" >> $OUT 2>&1
echo
yum install lshw* util-linux-ng* procps* dmidecode* pciutils* e2fsprogs* hdparm* cpuid* coreutils* sg3_utils* gsmartcontrol* -y
echo -e "\n\n\n" >> $OUT
echo "=================================================================================================================" >> $OUT
echo >> $OUT
echo "### Output of command fdisk -l :" >> $OUT
echo >> $OUT
fdisk -l >> $OUT
echo >> $OUT
echo "=================================================================================================================" >> $OUT
echo >> $OUT
echo "### Output of command df -h :" >> $OUT
echo >> $OUT
df -h >> $OUT
echo >> $OUT
echo "=================================================================================================================" >> $OUT
echo >> $OUT
echo "### Output of command free -mt :" >> $OUT
echo >> $OUT
free -mt >> $OUT
echo >> $OUT
echo "=================================================================================================================" >> $OUT
echo >> $OUT
echo "### Output of command smartctl -a `fdisk -l | egrep "Disk /dev/.da" | awk -F ' ' '{print $2}' | awk -F ':' '{print $1}'` :" >> $OUT
echo >> $OUT
smartctl -a `fdisk -l | egrep "Disk /dev/.da" | awk -F ' ' '{print $2}' | awk -F ':' '{print $1}'`
echo >> $OUT
echo "=================================================================================================================" >> $OUT
echo >> $OUT
echo "### Output of command lscpu :" >> $OUT
echo >> $OUT
lscpu >> $OUT
echo >> $OUT
echo "=================================================================================================================" >> $OUT
echo >> $OUT
echo "### Output of command cpuid :" >> $OUT
echo >> $OUT
cpuid >> $OUT
echo >> $OUT
echo "=================================================================================================================" >> $OUT
echo >> $OUT
echo "### Output of command nproc --all :" >> $OUT
echo >> $OUT
nproc --all >> $OUT
echo >> $OUT
echo "=================================================================================================================" >> $OUT
echo >> $OUT
echo "### Output of command dmesg :" >> $OUT
echo >> $OUT
dmesg >> $OUT
echo >> $OUT
echo "=================================================================================================================" >> $OUT
echo >> $OUT
echo "### Output of command lshw :" >> $OUT
echo >> $OUT
lshw >> $OUT
echo >> $OUT
echo "=================================================================================================================" >> $OUT
echo >> $OUT
echo "### Output of command lsblk :" >> $OUT
echo >> $OUT
lsblk >> $OUT
echo >> $OUT
echo "=================================================================================================================" >> $OUT
echo >> $OUT
echo "### Output of command lspci -nv :" >> $OUT
echo >> $OUT
lspci -nv >> $OUT
echo >> $OUT
echo "=================================================================================================================" >> $OUT
echo >> $OUT
echo "### Output of command dmidecode :" >> $OUT
echo >> $OUT
dmidecode >> $OUT
echo >> $OUT
echo "=================================================================================================================" >> $OUT
echo >> $OUT
echo "### Output of command hdparm -I `fdisk -l | egrep "Disk /dev/.da" | awk -F ' ' '{print $2}' | awk -F ':' '{print $1}'` :" >> $OUT
echo >> $OUT
for i in `fdisk -l | egrep "Disk /dev/.da" | awk -F ' ' '{print $2}' | awk -F ':' '{print $1}'`
do
hdparm -I $i >> $OUT
done
echo >> $OUT
echo "=================================================================================================================" >> $OUT
echo >> $OUT
echo "### Output of command hdparm -tT `fdisk -l | egrep "Disk /dev/.da" | awk -F ' ' '{print $2}' | awk -F ':' '{print $1}'` :" >> $OUT
echo >> $OUT
for i in `fdisk -l | egrep "Disk /dev/.da" | awk -F ' ' '{print $2}' | awk -F ':' '{print $1}'`
do
hdparm -tT $i >> $OUT
done
echo >> $OUT
echo "=================================================================================================================" >> $OUT
echo >> $OUT
echo "### Output of command badblocks -s `fdisk -l | egrep "Disk /dev/.da" | awk -F ' ' '{print $2}' | awk -F ':' '{print $1}'` :" >> $OUT
echo >> $OUT
for i in `fdisk -l | egrep "Disk /dev/.da" | awk -F ' ' '{print $2}' | awk -F ':' '{print $1}'`
do
badblocks -s $i >> $OUT
done
echo >> $OUT
echo "=================================================================================================================" >> $OUT
echo >> $OUT
echo "### Output of command sginfo -a `fdisk -l | egrep "Disk /dev/.da" | awk -F ' ' '{print $2}' | awk -F ':' '{print $1}'` :" >> $OUT
echo >> $OUT
for i in `fdisk -l | egrep "Disk /dev/.da" | awk -F ' ' '{print $2}' | awk -F ':' '{print $1}'`
do
sginfo -a $i >> $OUT
done
echo >> $OUT
echo "=================================================================================================================" >> $OUT
echo >> $OUT
echo "### Output of command sginfo -g `fdisk -l | egrep "Disk /dev/.da" | awk -F ' ' '{print $2}' | awk -F ':' '{print $1}'` :" >> $OUT
echo >> $OUT
for i in `fdisk -l | egrep "Disk /dev/.da" | awk -F ' ' '{print $2}' | awk -F ':' '{print $1}'`
do
sginfo -g $i >> $OUT
done
echo -e "\n\n" >> $OUT