Georgi Hristozov wrote:
Здравейте! На машината си имам Slackware-current и се опитах да сложа пакета за мониторинг на услуги Monit. Всичко си работеше на 6 докато на пробвах да го конфигурирам да наблюдава crond. За това ми трябва /var/run/cron.pid, който е стандартен за crond. Да, но този файл го няма никъде из системата, а ми трябва за да може да се разбере дали работи процеса. Някой има ли си идея как мога да накарам crond да си прави собствен pid файл? Ако ми е само за да разбера PID-а на процеса, няма проблем да ползвам нещо такова (е, малко по - сложно :) ):
pidof crond > /var/run/cron.pid
Но това не е пълноценно решение за мониторинг. Пакета, който ползвам е dcron. Благодаря предварително!

От пет години ползвам crond да следи дали монит не е спрял :) А иначе ползвам
Dillon's cron от 97-ма и досега никога не е спирал или умирал. Вярно,
че не пише pid файл, но пък никога не се е налагало да го пускам защото
е умрял. И аз когато започнах да пускам монит ме беше прихванало всичко
да следя, но след време ми мина и сега следя само наистина важните ми
услуги (sshd, и няколко други демона...). С други думи, ако чак толкова
държиш да следиш crond с монит, направи си един rc файл от сорта на:

/etc/rc.d/rc.crond

#!/bin/sh

crond_start() {
  if [ -x /usr/sbin/crond ]; then
    if [ "$(/sbin/pidof crond)" = "" ]; then
        echo "Starting crond:  /usr/sbin/crond"
        /usr/sbin/crond -l10 >>/var/log/cron 2>&1
        /sbin/pidof crond > /var/run/crond.pid
     else
        echo "crond is already running."
        /sbin/pidof crond > /var/run/crond.pid
     fi
  fi
}

# Stop crond:
crond_stop() {
  killall -v crond
}

# Restart crond:
crond_restart() {
  crond_stop
  sleep 1
  crond_start
}

case "$1" in
'start')
  crond_start
  ;;
'stop')
  crond_stop
  ;;
'restart')
  crond_restart
  ;;
*)
  echo "usage $0 start|stop|restart"
esac

и си го следи с monit:

check crond with pidfile /var/run/crond.pid
        start = "/etc/rc.d/rc.crond start"
        stop = "/etc/rc.d/rc.crond stop"
        checksum /usr/sbin/crond
        timeout(3,6)
        alert [EMAIL PROTECTED] { restart, timeout }
        alert [EMAIL PROTECTED] on { checksum }

--
Georgi Chorbadzhiyski
http://georgi.unixsol.org/

Reply via email to