Redirect stdout to a file for debug messages
This commit is contained in:
parent
c642749986
commit
18e60cc89e
|
@ -41,30 +41,31 @@ systemd-timesync:
|
|||
See http://localhost/xymon-cgi/svcstatus.sh?HOST=HOST.DOMAIN.ORG&SERVICE=libs"
|
||||
|
||||
temp_dir=$(mktemp -d -t xymon-libs-alert-XXXXXX.tmp)
|
||||
debug_stdout="${temp_dir}/debug.stdout"
|
||||
service_list="${temp_dir}/services.error.list"
|
||||
# }}}
|
||||
|
||||
[ "${DEBUG}" -eq "0" ] && printf '\e[1;35m%-6s\e[m\n' "DEBUG : ${BBHOSTNAME} — ${BBSVCNAME} error"
|
||||
|
||||
# Temp dir for this alert
|
||||
if [ ! -d "${temp_dir}" ] ; then
|
||||
mkdir -p -- "${temp_dir}"
|
||||
[ "${DEBUG}" -eq "0" ] && printf '\e[1;35m%-6s\e[m\n' "DEBUG : ${temp_dir} — created."
|
||||
fi
|
||||
|
||||
[ "${DEBUG}" -eq "0" ] && printf '\e[1;35m%-6s\e[m\n' "DEBUG : ${BBHOSTNAME} — ${BBSVCNAME} error" > "${debug_stdout}"
|
||||
|
||||
# Check if host need to reboot
|
||||
if echo "${BBALPHAMSG}" | grep -qE "\\&yellow Machine should be reboot.*" ; then
|
||||
[ "${DEBUG}" -eq "0" ] && printf '\e[1;35m%-6s\e[m\n' "DEBUG : Test kernel — The host need to be rebooted."
|
||||
[ "${DEBUG}" -eq "0" ] && printf '\e[1;35m%-6s\e[m\n' "DEBUG : Test kernel — The host need to be rebooted." >> "${debug_stdout}"
|
||||
fi
|
||||
|
||||
# Check if a service need to restart
|
||||
if echo "${BBALPHAMSG}" | grep -qE "\\&yellow The following processes.*" ; then
|
||||
[ "${DEBUG}" -eq "0" ] && printf '\e[1;35m%-6s\e[m\n' "DEBUG : Test service — Some services need to be restarted."
|
||||
[ "${DEBUG}" -eq "0" ] && printf '\e[1;35m%-6s\e[m\n' "DEBUG : Test service — Some services need to be restarted." >> "${debug_stdout}"
|
||||
# Get the list of binaries path
|
||||
echo "${BBALPHAMSG}" | sed -n 's/^ \(\/.*\) (.*)/\1/p' > "${service_list}"
|
||||
|
||||
while IFS= read -r bin_path; do
|
||||
[ "${DEBUG}" -eq "0" ] && printf '\e[1;35m%-6s\e[m\n' "DEBUG : while bin_path loop — ${bin_path} use old libs."
|
||||
[ "${DEBUG}" -eq "0" ] && printf '\e[1;35m%-6s\e[m\n' "DEBUG : while bin_path loop — ${bin_path} use old libs." >> "${debug_stdout}"
|
||||
# Match binaries path and services name {{{
|
||||
case "${bin_path}" in
|
||||
# Arpwatch
|
||||
'/usr/sbin/arpwatch' )
|
||||
|
@ -99,15 +100,17 @@ if echo "${BBALPHAMSG}" | grep -qE "\\&yellow The following processes.*" ; then
|
|||
process="NOT.MANAGED"
|
||||
;;
|
||||
esac
|
||||
[ "${DEBUG}" -eq "0" ] && printf '\e[1;35m%-6s\e[m\n' "DEBUG : while bin_path loop — ${process} need to be restarted."
|
||||
[ "${DEBUG}" -eq "0" ] && printf '\e[1;35m%-6s\e[m\n' "DEBUG : while bin_path loop — ssh -o StrictHostKeyChecking=no ${REMOTE_SSH_USER}@${BBHOSTNAME} sudo systemctl restart ${process}.service"
|
||||
# }}}
|
||||
|
||||
[ "${DEBUG}" -eq "0" ] && printf '\e[1;35m%-6s\e[m\n' "DEBUG : while bin_path loop — ${process} need to be restarted." >> "${debug_stdout}"
|
||||
[ "${DEBUG}" -eq "0" ] && printf '\e[1;35m%-6s\e[m\n' "DEBUG : while bin_path loop — ssh -o StrictHostKeyChecking=no ${REMOTE_SSH_USER}@${BBHOSTNAME} sudo systemctl restart ${process}.service" >> "${debug_stdout}"
|
||||
done < "${service_list}"
|
||||
|
||||
# Also restart xymon-client service
|
||||
[ "${DEBUG}" -eq "0" ] && printf '\e[1;35m%-6s\e[m\n' "DEBUG : Test service — xymon-client also need to be restarted."
|
||||
[ "${DEBUG}" -eq "0" ] && printf '\e[1;35m%-6s\e[m\n' "DEBUG : Test service — ssh -o StrictHostKeyChecking=no ${REMOTE_SSH_USER}@${BBHOSTNAME} sudo systemctl restart xymon-client.service"
|
||||
[ "${DEBUG}" -eq "0" ] && printf '\e[1;35m%-6s\e[m\n' "DEBUG : Test service — xymon-client also need to be restarted." >> "${debug_stdout}"
|
||||
[ "${DEBUG}" -eq "0" ] && printf '\e[1;35m%-6s\e[m\n' "DEBUG : Test service — ssh -o StrictHostKeyChecking=no ${REMOTE_SSH_USER}@${BBHOSTNAME} sudo systemctl restart xymon-client.service" >> "${debug_stdout}"
|
||||
fi
|
||||
|
||||
rm -rf -- "${temp_dir}"
|
||||
[ "${DEBUG}" -eq "0" ] || rm -rf -- "${temp_dir}"
|
||||
|
||||
exit 0
|
||||
|
|
Loading…
Reference in New Issue