diff --git a/root_file_system/default/etc/config/configurator b/root_file_system/default/etc/config/configurator index 77cf696..325fdad 100644 --- a/root_file_system/default/etc/config/configurator +++ b/root_file_system/default/etc/config/configurator @@ -11,9 +11,6 @@ config 'api' option 'timeout' '5' option 'retry' '5' -config 'update' - option 'autoupdate' '1' - config 'crawl' option 'method' 'hash' option 'nickname' '1' diff --git a/root_file_system/default/etc/config/nodewatcher b/root_file_system/default/etc/config/nodewatcher index 1249226..3570164 100644 --- a/root_file_system/default/etc/config/nodewatcher +++ b/root_file_system/default/etc/config/nodewatcher @@ -2,16 +2,7 @@ config 'script' option 'version' '25' option 'error_level' '0' option 'logfile' '/var/log/nodewatcher.log' - -config 'api' - option 'ipv4_address' '1' - option 'ipv6_interface' 'br-mesh' - option 'ipv6_address' 'fe80::201:2ff:fe03:405' - option 'timeout' '5' - option 'retry' '5' - -config 'update' - option 'autoupdate' '1' + option 'data_file' '/tmp/node.data' config 'network' option 'mesh_interface' 'br-mesh' diff --git a/root_file_system/default/etc/configurator.sh b/root_file_system/default/etc/configurator.sh index 4c609fd..8bd4132 100644 --- a/root_file_system/default/etc/configurator.sh +++ b/root_file_system/default/etc/configurator.sh @@ -1,9 +1,9 @@ #!/bin/sh -# Netmon Configurator (C) 2010-2011 Freifunk Oldenburg -# Lizenz: GPL - -SCRIPT_DIR=`dirname $0` +# Netmon Configurator (C) 2010-2012 Freifunk Oldenburg +# Lizenz: GPL v3 +#Get the configuration from the uci configuration file +#If it does not exists, then get it from a normal bash file with variables. if [ -f /etc/config/configurator ];then API_IPV4_ADRESS=`uci get configurator.@api[0].ipv4_address` API_IPV6_ADRESS=`uci get configurator.@api[0].ipv6_address` @@ -19,10 +19,9 @@ if [ -f /etc/config/configurator ];then CRAWL_UPDATE_HASH=`uci get configurator.@crawl[0].update_hash` CRAWL_NICKNAME=`uci get configurator.@crawl[0].nickname` CRAWL_PASSWORD=`uci get configurator.@crawl[0].password` - UPDATE_AUTOUPDATE=`uci get configurator.@update[0].autoupdate` AUTOADD_IPV6_ADDRESS=`uci get configurator.@netmon[0].autoadd_ipv6_address` else - . $SCRIPT_DIR/configurator_config + . `dirname $0`/configurator_config fi API_RETRY=$(($API_RETRY - 1)) @@ -47,14 +46,14 @@ sync_hostname() { if [ "$netmon_hostname" != "" ]; then if [ "$netmon_hostname" != "`cat /proc/sys/kernel/hostname`" ]; then if [ $SCRIPT_ERROR_LEVEL -gt "1" ]; then - echo "`date`: Setze neuen Hostname: $netmon_hostname" >> $SCRIPT_LOGFILE + echo "`date`: Setting new hostname: $netmon_hostname" >> $SCRIPT_LOGFILE fi uci set system.@system[0].hostname=$netmon_hostname uci commit echo $netmon_hostname > /proc/sys/kernel/hostname else if [ $SCRIPT_ERROR_LEVEL -gt "1" ]; then - echo "`date`: Hostname ist aktuell" >> $SCRIPT_LOGFILE + echo "`date`: Hostname is up to date" >> $SCRIPT_LOGFILE fi fi fi @@ -71,13 +70,13 @@ assign_router() { if [ `echo $ergebnis| cut '-d;' -f1` = "success" ]; then router_auto_assign_login_string=`echo $ergebnis| cut '-d;' -f2` if [ $SCRIPT_ERROR_LEVEL -gt "1" ]; then - echo "`date`: Es existiert ein Router mit dem Login String $router_auto_assign_login_string" >> $SCRIPT_LOGFILE + echo "`date`: There alredy exists a router with this login string: $router_auto_assign_login_string" >> $SCRIPT_LOGFILE fi elif [ `echo $ergebnis| cut '-d;' -f1` = "error" ]; then router_auto_assign_login_string=`echo $login_strings| cut '-d;' -f1` if [ $SCRIPT_ERROR_LEVEL -gt "1" ]; then - echo "`date`: Es existiert kein Router mit einem der Login Strings: $login_strings" >> $SCRIPT_LOGFILE - echo "`date`: Nutze $router_auto_assign_login_string als login string" >> $SCRIPT_LOGFILE + echo "`date`: A router with this login string does not exist: $login_strings" >> $SCRIPT_LOGFILE + echo "`date`: Using $router_auto_assign_login_string as login string" >> $SCRIPT_LOGFILE fi fi @@ -87,27 +86,27 @@ assign_router() { if [ `echo $ergebnis| cut '-d;' -f1` != "success" ]; then if [ `echo $ergebnis| cut '-d;' -f2` = "already_assigned" ]; then if [ $SCRIPT_ERROR_LEVEL -gt "0" ]; then - echo "`date`: Der Login String `echo $ergebnis| cut '-d;' -f3` ist bereits mit einem Router verknüpft, beende" >> $SCRIPT_LOGFILE + echo "`date`: The login string `echo $ergebnis| cut '-d;' -f3` is already assigned to a router. Exiting" >> $SCRIPT_LOGFILE exit 0 fi elif [ `echo $ergebnis| cut '-d;' -f2` = "autoassign_not_allowed" ]; then if [ $SCRIPT_ERROR_LEVEL -gt "0" ]; then - echo "`date`: Der dem Login String `echo $ergebnis| cut '-d;' -f3` zugewiesene Router erlaubt autoassign nicht, beende" >> $SCRIPT_LOGFILE + echo "`date`: The router with the login string `echo $ergebnis| cut '-d;' -f3` does not allow autoassign. Exiting" >> $SCRIPT_LOGFILE exit 0 fi elif [ `echo $ergebnis| cut '-d;' -f2` = "new_not_assigned" ]; then if [ $SCRIPT_ERROR_LEVEL -gt "0" ]; then - echo "`date`: Router wurde der Liste der nicht zugewiesenen Router hinzugefügt, beende" >> $SCRIPT_LOGFILE + echo "`date`: Router has been added to the list of not assigned routers. Exiting" >> $SCRIPT_LOGFILE exit 0 fi elif [ `echo $ergebnis| cut '-d;' -f2` = "updated_not_assigned" ]; then if [ $SCRIPT_ERROR_LEVEL -gt "0" ]; then - echo "`date`: Router auf der Liste der nicht zugewiesenen Router wurde geupdated, beende" >> $SCRIPT_LOGFILE + echo "`date`: The list of not assigned routers has been updated. Exiting" >> $SCRIPT_LOGFILE exit 0 fi fi if [ $SCRIPT_ERROR_LEVEL -gt "0" ]; then - echo "`date`: Der Router wurde nicht mit Netmon verknüpft" >> $SCRIPT_LOGFILE + echo "`date`: The router has not been assigned to a router in Netmon" >> $SCRIPT_LOGFILE fi elif [ `echo $ergebnis| cut '-d;' -f1` = "success" ]; then #write new config @@ -118,7 +117,7 @@ assign_router() { uci set nodewatcher.@crawl[0].router_id=`echo $ergebnis| cut '-d;' -f2` if [ $SCRIPT_ERROR_LEVEL -gt "1" ]; then - echo "`date`: Der Router `echo $ergebnis| cut '-d;' -f2` wurde mit Netmon verknüpft" >> $SCRIPT_LOGFILE + echo "`date`: The router `echo $ergebnis| cut '-d;' -f2` has been assigned with a router in Netmon" >> $SCRIPT_LOGFILE fi uci commit @@ -132,40 +131,40 @@ assign_router() { autoadd_ipv6_address() { netmon_api=`get_url` - echo "`date`: Führe IPv6 Address autoadd durch" >> $SCRIPT_LOGFILE + echo "`date`: Doing IPv6 autoadd" >> $SCRIPT_LOGFILE ipv6_link_local_addr="`ifconfig br-mesh | grep 'inet6 addr:' | grep 'Scope:Link' | awk '{ print $3}'`" command="wget -q -O - http://$netmon_api/api_csv_configurator.php?section=autoadd_ipv6_address&authentificationmethod=$CRAWL_METHOD&nickname=$CRAWL_NICKNAME&password=$CRAWL_PASSWORD&router_auto_update_hash=$CRAWL_UPDATE_HASH&router_id=$CRAWL_ROUTER_ID&ip=$ipv6_link_local_addr" ergebnis=`$command&sleep $API_TIMEOUT; kill $!` if [ `echo $ergebnis| cut '-d,' -f1` = "success" ]; then uci set configurator.@netmon[0].autoadd_ipv6_address='0' uci commit - echo "`date`: Die IPv6-Adresse fÃr Router $CRAWL_ROUTER_ID wurde Netmon hinzugefügt" >> $SCRIPT_LOGFILE - echo "`date`: IPv6 Autoadd wurde abgestellt um zu starke Belastung der Netmon API zu vermeiden" >> $SCRIPT_LOGFILE + echo "`date`: The IPv6 address of the router $CRAWL_ROUTER_ID has been added to the router in Netmon" >> $SCRIPT_LOGFILE + echo "`date`: IPv6 Autoadd has been disabled cause it is no longer necesarry" >> $SCRIPT_LOGFILE else - echo "`date`: Die IPv6-Adresse existiert bereits in Netmon (auf Router-ID `echo $ergebnis| cut '-d,' -f3`)" >> $SCRIPT_LOGFILE + echo "`date`: The IPv6 address already exists in Netmon on router `echo $ergebnis| cut '-d,' -f3`)" >> $SCRIPT_LOGFILE fi } if [ $CRAWL_METHOD == "login" ]; then if [ $SCRIPT_ERROR_LEVEL -gt "1" ]; then - echo "`date`: Authentifizierungsmethode ist: Username und Passwort" >> $SCRIPT_LOGFILE + echo "`date`: Authentification method is: username and passwort" >> $SCRIPT_LOGFILE fi elif [ $CRAWL_METHOD == "hash" ]; then if [ $SCRIPT_ERROR_LEVEL -gt "1" ]; then - echo "`date`: Authentifizierungsmethode ist: Autoassign und Hash" >> $SCRIPT_LOGFILE - echo "`date`: Prüfe ob Roter schon mit Netmon verknüpft ist" >> $SCRIPT_LOGFILE + echo "`date`: Authentification method: autoassign and hash" >> $SCRIPT_LOGFILE + echo "`date`: Checking if the router is already assigned to a router in Netmon" >> $SCRIPT_LOGFILE fi if [ $CRAWL_UPDATE_HASH == "1" ]; then can_crawl=0 if [ $SCRIPT_ERROR_LEVEL -gt "1" ]; then - echo "`date`: Der Router ist noch NICHT mit Netmon verknüpft" >> $SCRIPT_LOGFILE - echo "`date`: Versuche verknüpfung herzustellen" >> $SCRIPT_LOGFILE + echo "`date`: The router is not assigned to a router in Netmon" >> $SCRIPT_LOGFILE + echo "`date`: Trying to assign the router" >> $SCRIPT_LOGFILE fi assign_router sync_hostname else if [ $SCRIPT_ERROR_LEVEL -gt "1" ]; then - echo "`date`: Der Router ist bereits mit Netmon verknüpt" >> $SCRIPT_LOGFILE + echo "`date`: The router is alredy assigned to a router in Netmon" >> $SCRIPT_LOGFILE fi if [[ $AUTOADD_IPV6_ADDRESS = "1" ]]; then autoadd_ipv6_address diff --git a/root_file_system/default/etc/nodewatcher.sh b/root_file_system/default/etc/nodewatcher.sh index a4ae9e1..d609075 100755 --- a/root_file_system/default/etc/nodewatcher.sh +++ b/root_file_system/default/etc/nodewatcher.sh @@ -1,110 +1,39 @@ #!/bin/sh -# Netmon Nodewatcher (C) 2010-2011 Freifunk Oldenburg -# Lizenz: GPL - -SCRIPT_DIR=`dirname $0` +# Netmon Nodewatcher (C) 2010-2012 Freifunk Oldenburg +# License; GPL v3 +#Get the configuration from the uci configuration file +#If it does not exists, then get it from a normal bash file with variables. if [ -f /etc/config/nodewatcher ];then - API_IPV4_ADRESS=`uci get nodewatcher.@api[0].ipv4_address` - API_IPV6_ADRESS=`uci get nodewatcher.@api[0].ipv6_address` - API_IPV6_INTERFACE=`uci get nodewatcher.@api[0].ipv6_interface` - API_TIMEOUT=`uci get nodewatcher.@api[0].timeout` - API_RETRY=`uci get nodewatcher.@api[0].retry` SCRIPT_VERSION=`uci get nodewatcher.@script[0].version` SCRIPT_ERROR_LEVEL=`uci get nodewatcher.@script[0].error_level` SCRIPT_LOGFILE=`uci get nodewatcher.@script[0].logfile` - UPDATE_AUTOUPDATE=`uci get nodewatcher.@update[0].autoupdate` + SCRIPT_DATA_FILE=`uci get nodewatcher.@script[0].data_file` MESH_INTERFACE=`uci get nodewatcher.@network[0].mesh_interface` CLIENT_INTERFACES=`uci get nodewatcher.@network[0].client_interfaces` else - . $SCRIPT_DIR/nodewatcher_config + . `dirname $0`/nodewatcher_config fi -API_RETRY=$(($API_RETRY - 1)) - +#this method checks id the logfile has bekome too big and deletes the first X lines delete_log() { - if [ -f $logfile ]; then - if [ `ls -la $logfile | awk '{ print $5 }'` -gt "6000" ]; then - sed -i '1,60d' $logfile - if [ $error_level -gt "1" ]; then - echo "`date`: Logfile wurde verkleinert" >> $logfile + if [ -f $SCRIPT_LOGFILE ]; then + if [ `ls -la $SCRIPT_LOGFILE | awk '{ print $5 }'` -gt "6000" ]; then + sed -i '1,60d' $SCRIPT_LOGFILE + if [ $SCRIPT_ERROR_LEVEL -gt "1" ]; then + echo "`date`: Logfile has been made smaller" >> $SCRIPT_LOGFILE fi fi fi } -get_url() { - if [[ $API_IPV4_ADRESS != "1" ]]; then - url=$API_IPV4_ADRESS - else - url="[$API_IPV6_ADRESS"%"$API_IPV6_INTERFACE]" - fi - echo $url -} - -get_curl() { - if [[ $API_IPV4_ADRESS != "1" ]]; then - curl="http://$API_IPV4_ADRESS" - else - numeric_scope_id=`ip addr | grep $API_IPV6_INTERFACE | awk '{ print $1 }' | sed 's/://'` - curl="-g http://$API_IPV6_ADRESS%$numeric_scope_id" - fi - echo $curl -} - -do_ping() { - if [[ $API_IPV4_ADRESS != "1" ]]; then - command="ping -c 2 "$API_IPV4_ADRESS - else - command="ping -c 2 -I "$API_IPV6_INTERFACE" "$API_IPV6_ADRESS - fi - - if [ $error_level -gt "1" ]; then - echo "`date`: Pinging..." >> $logfile - fi - - ping_return=`$command` - - if [ $error_level -gt "2" ]; then - echo $ping_return - fi -} - -update() { - if [ $error_level -gt "1" ]; then - echo "`date`: Suche neue Version" >> $logfile - fi - netmon_api=`get_url` - command="wget -q -O - http://$netmon_api/api_nodewatcher.php?section=version&nodewatcher_version=$SCRIPT_VERSION" - ergebnis=`$command&sleep $API_TIMEOUT; kill $!` - return=`echo $ergebnis| cut '-d;' -f1` - version=`echo $ergebnis| cut '-d;' -f2` - - if [[ "$return" = "success" ]]; then - if [[ $version -gt $SCRIPT_VERSION ]]; then - if [ $error_level -gt "1" ]; then - echo "`date`: Eine neue Version ist Verfügbar, script wird geupdated" >> $logfile - fi - wget -q -O $SCRIPT_DIR/nodewatcher.sh "http://$netmon_api/api_nodewatcher.php?section=update&nodewatcher_version=$SCRIPT_VERSION" - uci set nodewatcher.@script[0].version=$version - uci commit - else - if [ $error_level -gt "1" ]; then - echo "`date`: Das Script ist aktuell" >> $logfile - fi - fi - else - if [ $error_level -gt "0" ]; then - echo "`date`: Beim Update ist ein Fehler aufgetreten: $ergebnis" >> $logfile - fi - fi -} - +#this method generates the crawl data xml file that is beeing fetched by netmon +#and provided by a small local httpd crawl() { #Get system data from UCI if which uci >/dev/null; then - if [ $error_level -gt "1" ]; then - echo "`date`: UCI is installed, trying to collect extra data UCI" >> $logfile + if [ $SCRIPT_ERROR_LEVEL -gt "1" ]; then + echo "`date`: UCI is installed, trying to collect extra data from UCI" >> $SCRIPT_LOGFILE fi location="`uci get freifunk.contact.location`" latitude="`uci get system.@system[0].latitude`" @@ -119,14 +48,17 @@ crawl() { #Get system data from LUA if which lua >/dev/null; then - if [ $error_level -gt "1" ]; then - echo "`date`: LUA is installed, trying to collect extra data LUA" >> $logfile + if [ $SCRIPT_ERROR_LEVEL -gt "1" ]; then + echo "`date`: LUA is installed, trying to collect extra data from LUA" >> $SCRIPT_LOGFILE fi luciname=`lua -l luci.version -e 'print(luci.version.luciname)'` lucversion=`lua -l luci.version -e 'print(luci.version.luciversion)'` fi #Get system data from other locations + if [ $SCRIPT_ERROR_LEVEL -gt "1" ]; then + echo "`date`: Collecting basic system status data" >> $SCRIPT_LOGFILE + fi hostname="`cat /proc/sys/kernel/hostname`" uptime=`cat /proc/uptime | awk '{ print $1 }'` idletime=`cat /proc/uptime | awk '{ print $2 }'` @@ -145,6 +77,9 @@ crawl() { processes=`cat /proc/loadavg | awk '{ print $4 }'` loadavg=`cat /proc/loadavg | awk '{ print $1 }'` + if [ $SCRIPT_ERROR_LEVEL -gt "1" ]; then + echo "`date`: Collecting version information" >> $SCRIPT_LOGFILE + fi if which batctl >/dev/null; then batctl_adv_version=`batctl -v | awk '{ print $2 }'` batman_adv_version=`batctl o|head -n1|awk '{ print $3 }'|sed 's/,//'` @@ -163,14 +98,15 @@ crawl() { firmware_version_file="/etc/firmware_release" if [ -f $firmware_version_file ]; then . $firmware_version_file - - firmware_version=$FIRMWARE_VERSION fi + if [ $SCRIPT_ERROR_LEVEL -gt "1" ]; then + echo "`date`: Collecting information from network interfaces" >> $SCRIPT_LOGFILE + fi #Get interfaces IFACES=`cat /proc/net/dev | awk -F: '!/\|/ { gsub(/[[:space:]]*/, "", $1); split($2, a, " "); printf("%s=%s=%s ", $1, a[1], a[9]) }'` - int="" + interface_data="" #Loop interfaces for entry in $IFACES; do iface=`echo $entry | cut -d '=' -f 1` @@ -195,7 +131,7 @@ crawl() { traffic_rx="$rcv" traffic_tx="$xmt" - int=$int"<$name>$name$mac_addr$ipv4_addr$ipv6_addr$ipv6_link_local_addr$traffic_rx$traffic_tx$mtu" + interface_data=$interface_data"<$name>$name$mac_addr$ipv4_addr$ipv6_addr$ipv6_link_local_addr$traffic_rx$traffic_tx$mtu" if [ "`iwconfig ${iface} 2>/dev/null | grep Frequency | awk '{ print $2 }' | cut -d ':' -f 2`" != "" ]; then wlan_mode="`iwconfig ${iface} 2>/dev/null | grep 'Mode' | awk '{ print $1 }' | cut -d ':' -f 2`" @@ -209,13 +145,16 @@ crawl() { wlan_essid="`iwconfig ${iface} 2>/dev/null | grep ESSID | awk '{ split($4, a, \"\\"\"); printf(\"%s\", a[2]); }'`" wlan_frequency="`iwconfig ${iface} 2>/dev/null | grep Frequency | awk '{ print $2 }' | cut -d ':' -f 2`" wlan_tx_power="`iwconfig ${iface} 2>/dev/null | grep 'Tx-Power' | awk '{ print $4 }' | cut -d ':' -f 2`" - int=$int"$wlan_mode$wlan_frequency$wlan_essid$wlan_bssid$wlan_tx_power" + interface_data=$interface_data"$wlan_mode$wlan_frequency$wlan_essid$wlan_bssid$wlan_tx_power" fi - int=$int"" + interface_data=$interface_data"" fi fi done + if [ $SCRIPT_ERROR_LEVEL -gt "1" ]; then + echo "`date`: Collecting information from batman advanced and it´s interfaces" >> $SCRIPT_LOGFILE + fi #B.A.T.M.A.N. advanced mv /etc/bat-hosts /etc/bat-hosts.tmp if which batctl >/dev/null; then @@ -262,6 +201,9 @@ crawl() { fi mv /etc/bat-hosts.tmp /etc/bat-hosts + if [ $SCRIPT_ERROR_LEVEL -gt "1" ]; then + echo "`date`: Collecting information about conected clients" >> $SCRIPT_LOGFILE + fi #CLIENTS SEDDEV=`brctl showstp $MESH_INTERFACE | egrep '\([0-9]\)' | sed -e "s/(//;s/)//" | awk '{ print "s/^ "$2"/"$1"/;" }'` @@ -275,53 +217,29 @@ crawl() { done client_count=$i - SYSTEM_DATA="online$hostname$description$location$latitude$longitude$luciname$luciversion$distname$distversion$chipset$cpu$memory_total$memory_caching$memory_buffering$memory_free$loadavg$processes$uptime$idletime$local_time$community_essid$community_nickname$community_email$community_prefix$batman_adv_version$kernel_version$nodewatcher_version$firmware_version$FIRMWARE_REVISION$OPENWRT_CORE_REVISION$OPENWRT_FEEDS_PACKAGES_REVISION" - INTERFACE_DATA="$int" - BATMAN_ADV_ORIGINATORS="$batman_adv_originators" - CLIENT_DATA="$client_count" + if [ $SCRIPT_ERROR_LEVEL -gt "1" ]; then + echo "`date`: Putting all information into a XML-File and save it at "$SCRIPT_DATA_FILE >> $SCRIPT_LOGFILE + fi + SYSTEM_DATA="online$hostname$description$location$latitude$longitude$luciname$luciversion$distname$distversion$chipset$cpu$memory_total$memory_caching$memory_buffering$memory_free$loadavg$processes$uptime$idletime$local_time$community_essid$community_nickname$community_email$community_prefix$batman_adv_version$kernel_version$nodewatcher_version$FIRMWARE_VERSION$FIRMWARE_REVISION$OPENWRT_CORE_REVISION$OPENWRT_FEEDS_PACKAGES_REVISION" - DATA="$SYSTEM_DATA$INTERFACE_DATA$BATMAN_ADV_INTERFACES$BATMAN_ADV_ORIGINATORS$CLIENT_DATA" + DATA="$SYSTEM_DATA$interface_data$BATMAN_ADV_INTERFACES$batman_adv_originators$client_count" #write data to hxml file that provides the data on httpd - echo $DATA > /tmp/node.data + echo $DATA > $SCRIPT_DATA_FILE } LANG=C -SCRIPT_DIR=`dirname $0` -error_level=$SCRIPT_ERROR_LEVEL -logfile=$SCRIPT_LOGFILE - -if [[ $UPDATE_AUTOUPDATE == '1' ]]; then - if [ $error_level -gt "1" ]; then - echo "`date`: Autoupdate ist an" >> $logfile - fi - update -else - if [ $error_level -gt "1" ]; then - echo "`date`: Autoupdate ist aus" >> $logfile - fi +#Prüft ob das logfile zu groß geworden ist +if [ $SCRIPT_ERROR_LEVEL -gt "1" ]; then + echo "`date`: Check logfile" >> $SCRIPT_LOGFILE fi +delete_log -if [[ "$1" == "update" ]]; then - if [ $error_level -gt "1" ]; then - echo "`date`: Führe manuelles update aus" >> $logfile - fi - update - exit 1 +#Erzeugt die statusdaten +if [ $SCRIPT_ERROR_LEVEL -gt "1" ]; then + echo "`date`: Generate actual status data" >> $SCRIPT_LOGFILE fi +crawl -can_crawl=1 - -if [ $can_crawl == 1 ]; then - if [ $error_level -gt "1" ]; then - echo "`date`: Prüfe Logfile" >> $logfile - fi - delete_log - - if [ $error_level -gt "1" ]; then - echo "`date`: Sende aktuelle Statusdaten" >> $logfile - fi - crawl -fi exit 0