🐕‍🦺 server-services

@mikkelrask · 11. august, 2020 · Læsetid: 1 min.

Dette script burde måske egentlig hedde noget andet, for, for det er selvfølgeligt ikke begrænset til at køres på nogen server. Det er dog lavet specifikt til at, i dette tilfælde, er en ubuntu server, tjekke op på om hhv. apache og mysql kører, og hvis ikke, genstarte servicen. Pretty straight forward.

Hvilke services scriptet tjekker, kan selvfølgeligt ændres i SERVICES array'et på 5. linje af filen.

Kører scriptet hver minut som et cron job, med crontab -e, hvor jeg tilføjer linjen * * * * * /usr/bin/bash /server-services.sh >/dev/null 2>&1.

Script:

#!/bin/bash

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

SERVICES=( 'apache2' 'mysql' ) # hvilke services vi overvåger

 for i in "${SERVICES[@]}"
  do
 `pgrep $i >/dev/null 2>&1`
 STATS=$(echo $?)

 if [[  $STATS == 1  ]]
  then
  service $i start
  `pgrep $i >/dev/null 2>&1`
  RESTART=$(echo $?)
  if [[  $RESTART == 0  ]]
   then
    if [ -f "/tmp/$i" ];
    then
     rm /tmp/$i
    fi
	else
    if [ ! -f "/tmp/$i" ]; then
     touch /tmp/$i
    fi
  fi
 fi
  done
exit 0;

Direct download:

curl https://raw.githubusercontent.com/mikkelrask/scripts/master/server-services.sh -o /server-services.sh && chmod +x /server-services.sh

Github: github.com/mikkelrask/scripts

@mikkelrask
Computernørden. Hobby futurist, linux entusiast, hardware hacker, tinkerer og generelt kreativt legebarn. Bosat i Københavns Nordvest kvarter med min hund Homie. Jeg har arbejdet med computere hele mit liv, og ser en deres kunnen som en naturlig udvidelse af min egen.
© mr@github:~$ █, Built with Gatsby and hosted on Github.