Скрин настроек cron по умолчанию



  • Покажите пожалуйста скрин настроек крона по умолчанию (тот который сразу после устнановки pf 1.2.3).
    Вот мой:

    Интересуют команды, которые каждые 5 минут.
    за что отвечает эта каждая команда?

    /usr/local/bin/checkreload.sh
    /etc/ping_hosts.sh 
    /usr/local/etc/rc.d/route_upd

    не нахожу я через wincsp ping_hosts.sh по указанному пути.
    route_upd на сколько я помню это пользовательская, сам писал для обновления маршрутов. (давно было, забыл)
    как сделать чтоб она каждый день только отрабатывала?



  • Гляньте, есть ли у вас ping_hosts.sh в /etc?
    Что он делает и за что отвечает этот скрипт?



  • @garald50:

    Гляньте, есть ли у вас ping_hosts.sh в /etc?
    Что он делает и за что отвечает этот скрипт?

    У меня такое в кроне есть, а по указанному пути нет. Скорее всего осталось от какого-то пакета.



  • То есть эту строчку с ping_hosts.sh можно удалить без последствий из cron?
    checkreload.sh что делает?



  • @garald50:

    То есть эту строчку с ping_hosts.sh можно удалить без последствий из cron?
    checkreload.sh что делает?

    А checkreload.sh  нужен - монитор применения настроек.



  • ping_hosts.sh - для ipsec возможно, попробуй сконфигури ipsec тоннель с указанием удалённого ip в поле "ping" (одно из последних полей на странице настройки тоннеля, не помню точно как называется). Этот файл должен появиться (создаться).



  • @dvserg:

    А checkreload.sh  нужен - монитор применения настроек.

    он у всех каждые 5 минут вызывается?
    @Evgeny:

    ping_hosts.sh - для ipsec возможно, попробуй сконфигури ipsec тоннель с указанием удалённого ip в поле "ping" (одно из последних полей на странице настройки тоннеля, не помню точно как называется). Этот файл должен появиться (создаться).

    туннель есть, поле Automatically ping host заполнено. скрипта по указанному в cron'е пути (/etc/) нет. нашел этот скрипт в /usr/local/bin



  • а что внутри ping_hosts.sh ?



  • @Evgeny:

    а что внутри ping_hosts.sh ?

    
    #!/bin/sh
    
    # pfSense ping helper
    # written by Scott Ullrich
    # (C)2006 Scott Ullrich
    # All rights reserved.
    
    # Format of file should be deliminted by |
    #  Field 1:  Source ip
    #  Field 2:  Destination ip
    #  Field 3:  Ping count
    #  Field 4:  Script to run when service is down
    #  Field 5:  Script to run once service is restored
    #  Field 6:  Ping time threshold
    #  Field 7:  Wan ping time threshold
    
    # Read in ipsec ping hosts and check the CARP status
    if [ -f /var/db/ipsecpinghosts ]; then
    	IPSECHOSTS="/var/db/ipsecpinghosts"
    	CURRENTIPSECHOSTS="/var/db/currentipsecpinghosts"
    	IFVPNSTATE=`ifconfig $IFVPN | grep "carp: BACKUP vhid" | wc -l`
    	if [ $IFVPNSTATE -gt 1 ]; then
    		echo -e "CARP interface in BACKUP (not pinging ipsec hosts)"
    		rm -f $CURRENTIPSECHOSTS
    		touch $CURRENTIPSECHOSTS
    	else
    		echo -e "CARP interface is MASTER or non CARP (pinging ipsec hosts)"
    		cat < $IPSECHOSTS > $CURRENTIPSECHOSTS
    	fi
    fi
    
    # General file meant for user consumption
    if [ -f /var/db/hosts ]; then
    	HOSTS="/var/db/hosts"
    fi
    
    # Package specific ping requests
    if [ -f /var/db/pkgpinghosts ]; then
    	PKGHOSTS="/var/db/pkgpinghosts"
    fi
    
    cat $PKGHOSTS $HOSTS $IPSECHOSTS >/tmp/tmpHOSTS
    
    if [ ! -d /var/db/pingstatus ]; then
    	/bin/mkdir -p /var/db/pingstatus
    fi
    
    if [ ! -d /var/db/pingmsstatus ]; then
    	/bin/mkdir -p /var/db/pingmsstatus
    fi
    
    PINGHOSTS=`cat /tmp/tmpHOSTS`
    
    PINGHOSTCOUNT=`cat /tmp/tmpHOSTS | wc -l`
    
    if [ "$PINGHOSTCOUNT" -lt "1" ]; then
    	exit
    fi
    
    for TOPING in $PINGHOSTS ; do
    	echo "PROCESSING $TOPING"
    	SRCIP=`echo $TOPING | cut -d"|" -f1`
    	DSTIP=`echo $TOPING | cut -d"|" -f2`
    	COUNT=`echo $TOPING | cut -d"|" -f3`
    	FAILURESCRIPT=`echo $TOPING | cut -d"|" -f4`
    	SERVICERESTOREDSCRIPT=`echo $TOPING | cut -d"|" -f5`
    	THRESHOLD=`echo $TOPING | cut -d"|" -f6`
    	WANTHRESHOLD=`echo $TOPING | cut -d"|" -f7`
    	echo Processing $DSTIP
    	# Look for a service being down
    	ping -c $COUNT -S $SRCIP $DSTIP
    	if [ $? -eq 0 ]; then
    		# Host is up
    		# Read in previous status
    		PREVIOUSSTATUS=`cat /var/db/pingstatus/$DSTIP`
    		if [ "$PREVIOUSSTATUS" = "DOWN" ]; then
    			# Service restored
    			if [ "$SERVICERESTOREDSCRIPT" != "" ]; then
    				echo "UP" > /var/db/pingstatus/$DSTIP
    				echo "$DSTIP is UP, previous state was DOWN .. Running $SERVICERESTOREDSCRIPT"
    				echo "$DSTIP is UP, previous state was DOWN .. Running $SERVICERESTOREDSCRIPT" | logger -p daemon.info -i -t PingMonitor
    				sh -c $SERVICERESTOREDSCRIPT
    			fi
    		fi
    		echo "UP" > /var/db/pingstatus/$DSTIP
    	else
    		# Host is down
    		PREVIOUSSTATUS=`cat /var/db/pingstatus/$DSTIP`
    		if [ "$PREVIOUSSTATUS" = "UP" ]; then
    			# Service is down
    			if [ "$FAILURESCRIPT" != "" ]; then
    				echo "DOWN" > /var/db/pingstatus/$DSTIP
    				echo "$DSTIP is DOWN, previous state was UP ..  Running $FAILURESCRIPT"
    				echo "$DSTIP is DOWN, previous state was UP ..  Running $FAILURESCRIPT" | logger -p daemon.info -i -t PingMonitor
    				sh -c $FAILURESCRIPT
    			fi
    		fi
    		echo "DOWN" > /var/db/pingstatus/$DSTIP
    	fi
    	echo "Checking ping time $DSTIP"
    	# Look at ping values themselves
    	PINGTIME=`ping -c 1 -S $SRCIP $DSTIP | awk '{ print $7 }' | grep time | cut -d "=" -f2`
    	echo "Ping returned $?"
    	echo $PINGTIME > /var/db/pingmsstatus/$DSTIP
    	if [ "$THRESHOLD" != "" ]; then
    		if [ "$PINGTIME" -gt "$THRESHOLD" ]; then
    			echo "$DSTIP has exceeded ping threshold $PINGTIME / $THRESHOLD .. Running $FAILURESCRIPT"
    			echo "$DSTIP has exceeded ping threshold $PINGTIME / $THRESHOLD .. Running $FAILURESCRIPT" | logger -p daemon.info -i -t PingMonitor
    			sh -c $FAILURESCRIPT
    		fi
    	fi
    	# Wan ping time threshold
    	WANTIME=`rrdtool fetch /var/db/rrd/wan-quality.rrd AVERAGE -r 120 -s -1min -e -1min | grep ":" | cut -f3 -d" " | cut -d"e" -f1`
    	echo "Checking wan ping time $WANTIME"
    	echo $WANTIME > /var/db/wanaverage
    	if [ "$WANTHRESHOLD" != "" ]; then
    		if [ "$WANTIME" -gt "$WANTHRESHOLD" ]; then
    			echo "$DSTIP has exceeded wan ping threshold $WANTIME / $WANTHRESHOLD .. Running $FAILURESCRIPT"
    			echo "$DSTIP has exceeded wan ping threshold $WANTIME / $WANTHRESHOLD .. Running $FAILURESCRIPT" | logger -p daemon.info -i -t PingMonitor
    			sh -c $FAILURESCRIPT
    		fi
    	fi
    	sleep 1
    done
    
    exit 0
    
    

Log in to reply