digitorum.ru

Как меня найти

Профиль

icq: 4415944

Упражняемся в написании баш скриптов: daemonlauncher

bash, nix

Задача:

Наладить запуск "демонов" по крону и следить за тем, чтобы одновременно был запущен только один демон.

Решение:

Создаем файл daemonlauncher.sh.

#!/bin/bash

djem_daemons_directory="___daemons_folder___"
djem_daemon_name=""

if [ -d "$djem_daemons_directory" ]
then
   cd "$djem_daemons_directory"
   djem_daemon_name="$djem_daemons_directory$1"
   if [ -e "$djem_daemon_name" ]
   then
      demon=`ps uwwwwwx | grep $djem_daemon_name | grep -v grep`
      if [ "x$demon" = "x" ]; then
         echo "Restarting daemon"
         $djem_daemon_name
      else
         echo "Daemon already runned"
      fi
   else
      echo "Daemon not exists : $djem_daemon_name"
   fi
else
   echo "Directory not exists : $djem_daemons_directory"
fi
exit 0

 

В крон прописываем

daemonlauncher.sh daemonname