Страница 1 из 1

Простейший crontab-скрипт

СообщениеДобавлено: 16 ноя 2008 18:18
Kein
BASH: [ Скачать ] [ Скрыть ]
#!/bin/sh

# Crontab script for Eggdrop

###############################################################
# НАСТРОЙКА ПЕРЕМЕННЫХ
###############################################################

# Директория, куда установлен бот
EGGPATH=/home/user/bots/eggdrop

# Имя pid-файла (указывается в конфиге)
EGGPIDF=pid.eggdrop

# Имя исполняемого файла (обычно eggdrop)
EGGPROG=eggdrop

# Параметры, какие будет передавать скрипт исп. файлу при запуске (-n и т.п.)
EGGARGS=""
#EGGARGS="-n"

###############################################################
#  ТЕЛО СКРИПТА (тут менять ничего не надо)
###############################################################

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

EGGPID=

cd $EGGPATH

if [ -f $EGGPIDF ]
then
        EGGPID=`cat $EGGPIDF`
        if [ `ps auwx | grep $EGGPROG | grep $EGGPID | grep -v -c grep` = 1 ]
        then
                exit   
        fi
        rm -f $EGGPIDF
fi

./$EGGPROG $EGGARGS
 


Для Suzi-ботов, в качестве последней строки можно указать нечто вроде:
LANG=ru_RU.CP1251 LC_TIME=en_US ./$EGGPROG $EGGARGS
 


Ну вот и все - сохраняем файл с именем eggchk в root-директории бота (там же, где и eggdrop.conf) и ставим на него chmod +x (chmod +x eggchk). Затем, добавляем в кронтаб (crontab -e) строку вида:
0,10,20,30,40,50 * * * *   /home/user/bots/eggdrop/eggchk

и сохраняем крон.

Теперь каждые десять минут, крон-скрипт будет проверять существование процесса eggdrop с определенным пидом, и, если такового не обнаружит - запустит бота.