No /var/log/syslog on centos 7

This commit is contained in:
2021-10-20 16:30:32 -04:00
parent a467409568
commit 280a7577b3

View File

@@ -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