From 0ed7a16eaf140cf49f817d1ab37b2ebd8d4fb15f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Yavuz=20Ayd=C4=B1n?= Date: Wed, 6 Oct 2021 15:59:56 +0200 Subject: [PATCH] Initial commit for restart_service --- restart_service | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 restart_service diff --git a/restart_service b/restart_service new file mode 100644 index 0000000..1901dc3 --- /dev/null +++ b/restart_service @@ -0,0 +1,32 @@ +#!/bin/bash +PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin +while getopts "s:t:a:S:" opt; do + case $opt in + s) + servicestate=$OPTARG + ;; + t) + servicestatetype=$OPTARG + ;; + a) + serviceattempt=$OPTARG + ;; + S) + service=$OPTARG + ;; + esac +done + +if ( [ -z $servicestate ] || [ -z $servicestatetype ] || [ -z $serviceattempt ] || [ -z $service ] ); then + echo "USAGE: $0 -s servicestate -z servicestatetype -a serviceattempt -S service" + exit 3; +else + # Only restart on the third attempt of a critical event + if ( [ $servicestate == "CRITICAL" ] && [ $servicestatetype == "SOFT" ] && [ $serviceattempt -eq 3 ] ); then + if [ pidof systemd >/dev/null ]; then + sudo systemctl restart $service + else + sudo service $service restart + fi + fi +fi