No /var/log/syslog on centos 7
This commit is contained in:
@@ -95,76 +95,76 @@ for line in "${dfs[@]}"; do
|
|||||||
done
|
done
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
# Disk health
|
# # Disk health
|
||||||
cat <<- 'EOF' >> "$profiledir/motd.sh"
|
# cat <<- 'EOF' >> "$profiledir/motd.sh"
|
||||||
# config
|
# # config
|
||||||
MAX_TEMP=40
|
# MAX_TEMP=40
|
||||||
# set column width
|
# # set column width
|
||||||
COLUMNS=2
|
# COLUMNS=2
|
||||||
# colors
|
# # colors
|
||||||
white="\e[39m"
|
# white="\e[39m"
|
||||||
green="\e[1;32m"
|
# green="\e[1;32m"
|
||||||
red="\e[1;31m"
|
# red="\e[1;31m"
|
||||||
dim="\e[2m"
|
# dim="\e[2m"
|
||||||
undim="\e[0m"
|
# undim="\e[0m"
|
||||||
|
|
||||||
# disks to check
|
# # disks to check
|
||||||
disks=(sda sdb sdc sdd sde sdf sdg sdi)
|
# disks=(sda sdb sdc sdd sde sdf sdg sdi)
|
||||||
disknames=(sda sdb sdc sdd sde sdf sdg sdi)
|
# disknames=(sda sdb sdc sdd sde sdf sdg sdi)
|
||||||
|
|
||||||
# hddtemp
|
# # hddtemp
|
||||||
hddtemp_host=localhost
|
# hddtemp_host=localhost
|
||||||
hddtemp_port=7634
|
# hddtemp_port=7634
|
||||||
|
|
||||||
# logfiles to check
|
# # logfiles to check
|
||||||
logfiles='/var/log/syslog /var/log/syslog.1'
|
# logfiles='/var/log/syslog /var/log/syslog.1'
|
||||||
|
|
||||||
# get all lines with smartd entries from syslog
|
# # get all lines with smartd entries from syslog
|
||||||
lines=$(tac $logfiles | grep -hiP 'smartd\[[[:digit:]]+\]:' | grep -iP "previous self-test")
|
# lines=$(tac $logfiles | grep -hiP 'smartd\[[[:digit:]]+\]:' | grep -iP "previous self-test")
|
||||||
# use nc to query temps from hddtemp daemon
|
# # use nc to query temps from hddtemp daemon
|
||||||
hddtemp=$(timeout 0.01 nc $hddtemp_host $hddtemp_port | sed 's/|//m' | sed 's/||/ \n/g')
|
# hddtemp=$(timeout 0.01 nc $hddtemp_host $hddtemp_port | sed 's/|//m' | sed 's/||/ \n/g')
|
||||||
|
|
||||||
out=""
|
# out=""
|
||||||
for i in "${!disks[@]}"; do
|
# for i in "${!disks[@]}"; do
|
||||||
disk=${disks[$i]}
|
# disk=${disks[$i]}
|
||||||
# use disknames if given
|
# # use disknames if given
|
||||||
diskname=${disknames[$i]}
|
# diskname=${disknames[$i]}
|
||||||
if [ -z "${diskname}" ]; then
|
# if [ -z "${diskname}" ]; then
|
||||||
diskname=$disk
|
# diskname=$disk
|
||||||
fi
|
# fi
|
||||||
uuid=$(blkid -s UUID -o value "/dev/${disk}")
|
# uuid=$(blkid -s UUID -o value "/dev/${disk}")
|
||||||
status=$( (grep "${uuid}" <<< "${lines}") | grep -m 1 -oP "previous self-test.*" | awk '{ print $4 " " $5 }')
|
# status=$( (grep "${uuid}" <<< "${lines}") | grep -m 1 -oP "previous self-test.*" | awk '{ print $4 " " $5 }')
|
||||||
temp=$( (grep "${disk}" <<< "${hddtemp}") | awk -F'|' '{ print $3 }')
|
# temp=$( (grep "${disk}" <<< "${hddtemp}") | awk -F'|' '{ print $3 }')
|
||||||
|
|
||||||
# color green if temp <= MAX_TEMP, else red
|
# # color green if temp <= MAX_TEMP, else red
|
||||||
if [[ "${temp}" -gt "${MAX_TEMP}" ]]; then
|
# if [[ "${temp}" -gt "${MAX_TEMP}" ]]; then
|
||||||
color=$red
|
# color=$red
|
||||||
else
|
# else
|
||||||
color=$green
|
# color=$green
|
||||||
fi
|
# fi
|
||||||
# add "C" if temp is numeric
|
# # add "C" if temp is numeric
|
||||||
if [[ "$temp" =~ ^[0-9]+$ ]]; then
|
# if [[ "$temp" =~ ^[0-9]+$ ]]; then
|
||||||
temp="${temp}C"
|
# temp="${temp}C"
|
||||||
fi
|
# fi
|
||||||
# color green if status is "without error", else red
|
# # color green if status is "without error", else red
|
||||||
if [[ "${status}" == "without error" ]]; then
|
# if [[ "${status}" == "without error" ]]; then
|
||||||
status_color=$green
|
# status_color=$green
|
||||||
else
|
# else
|
||||||
status_color=$red
|
# status_color=$red
|
||||||
fi
|
# fi
|
||||||
|
|
||||||
# print temp & smartd error
|
# # print temp & smartd error
|
||||||
out+="${diskname}:,${color}${temp}${undim} | ${status_color}${status}${undim},"
|
# out+="${diskname}:,${color}${temp}${undim} | ${status_color}${status}${undim},"
|
||||||
# insert \n every $COLUMNS column
|
# # insert \n every $COLUMNS column
|
||||||
if [ $((($i+1) % $COLUMNS)) -eq 0 ]; then
|
# if [ $((($i+1) % $COLUMNS)) -eq 0 ]; then
|
||||||
out+="\n"
|
# out+="\n"
|
||||||
fi
|
# fi
|
||||||
done
|
# done
|
||||||
out+="\n"
|
# out+="\n"
|
||||||
|
|
||||||
printf "\ndisk status:\n"
|
# printf "\ndisk status:\n"
|
||||||
printf "$out" | column -ts $',' | sed -e 's/^/ /'
|
# printf "$out" | column -ts $',' | sed -e 's/^/ /'
|
||||||
EOF
|
# EOF
|
||||||
|
|
||||||
|
|
||||||
# Services
|
# Services
|
||||||
|
|||||||
Reference in New Issue
Block a user