This is the old XigmaNAS forum in read only mode,
it will taken offline by the end of march 2021!



I like to aks Users and Admins to rewrite/take over important post from here into the new fresh main forum!
Its not possible for us to export from here and import it to the main forum!

Cron führt keine Jobs aus

German community

Moderators: b0ssman, apollo567, Princo, crowi

Forum rules
Set-Up GuideFAQsForum Rules
Post Reply
martin_loos
NewUser
NewUser
Posts: 6
Joined: 18 Jan 2013 16:08
Status: Offline

Cron führt keine Jobs aus

Post by martin_loos »

Hallo,

nach dem Umstieg von FreeNAS auf NAS4Free wollte ich mein Script zum automatischen Herunterfahren wieder implementieren.

Folgendes habe ich in die Cron-GUI eingetragen
Befehl: sh /mnt/share/shutdowncheck.sh
Wer: root
Beschreibung: Shutdown Check
Geplante Zeit: alle 15 min

Ausgabe Cron-GUI: cron Job wurde nicht ausgeführt.
Ausgabe LOG: root: Failed to execute cron job 'sh /mnt/share/shutdowncheck.sh'.

Danach habe es mit folgenden Befehlen versucht:
/bin/sh /mnt/share/shutdowncheck.sh root: Failed to execute cron job '/bin/sh /mnt/share/shutdowncheck.sh'.
./mnt/share/shutdowncheck.sh root: Failed to execute cron job '/mnt/share/shutdowncheck.sh'.
/bin/bash /mnt/share/shutdowncheck.sh root: Failed to execute cron job '/bin/bash /mnt/share/shutdowncheck.sh'.


Attribute & Gruppe etc. sollten richtig sein, den ich kann das Script auf der Konsole ausführen.
-rwxrwxrwx 1 root wheel 1128 Jan 18 15:43 shutdowncheck.sh

freenas:/mnt/share# sh shutdowncheck.sh
Kein Shutdown - Mindestens einer der PCs ist eingeschaltet

Hier mal der Script-Code (original von http://www.kadder.de)

Code: Select all

#!/bin/bash
HOST1=192.168.1.1 #IP des ersten PC
HOST2=192.168.1.13 #IP des zweiten PC
ip_range=192.168.1. #Netzadresse des eigenen Netzwerkes ohne den Hostanteil
ip=5 #checke Netz ab IP-Adresse 5
 
_exit () {
case $1 in
    1) echo "Kein Shutdown - Mindestens einer der PCs ist eingeschaltet" ;;
    2) echo "Kein PC online - Shutdown" ; shutdown -p now ;;
esac
exit $1;
}
 
# Checken ob PC's an sind
if [ `ping -c 1 -i 1 $HOST1 | grep -wc 100.0%` -eq 0 ] || [ `ping -c 1 -i 1 $HOST2 | grep -wc 100.0%` -eq 0 ] ;
then _exit 1; # abbrechen, ein PC läuft
# Wenn kein PC an ist, gehe zu Checken ob PC's im IP-Bereich an sind
else
 
# Checken ob PC's im IP-Bereich an sind, checke Netz bis Hostanteil 20
    while [ $ip -le 20 ] 
do
    ping -c 1 -i 1 $ip_range$ip #ping mit der zusammengesetzten IP-Adresse aus den o.a. Variablen "ip" und "i"
    if [ `ping -c 1 -i 1 $ip_range$ip | grep -wc 100.0%` -eq 0 ] #sobald einer der Hosts auf den ping antwortet, nicht herunterfahren
then _exit 1 #beenden mit exit 1 (kein shutdown)
fi
ip=$(( $ip+1 )) #erhöhe Hostanteil immer um 1
done
 
_exit 2 # hat kein PC geantwortet, shutdown
fi
Hat einer eine Idee woran es liegen kann?

Thx

ML

bense
Starter
Starter
Posts: 32
Joined: 06 Jan 2013 09:33
Status: Offline

Re: Cron führt keine Jobs aus

Post by bense »

hi, ja das habe ich auch schon bemerkt, habe aber leider auch noch keine lösung dafür gefunden.
denke das es irgend wie an die rechte bzw. am pfad liegen könnte.

wenn ich in Cronjob -> Befehl, das ausführe klappt das wunderbar. "/bin/echo huhu >>/tmp/log" da wird das log angelegt mit dem echo drinnen (huhu)
unter chronjob beim ausführen, wird ja auch gleich gezeigt ob das script geht. das ist aber erst mal nur der funktions test. der befehl selbst wird aber erst nach den eingebauten timer richtig ausgeführt
das script an sich sollte auch stimmen.

Jimi
NewUser
NewUser
Posts: 2
Joined: 30 Mar 2013 13:41
Status: Offline

Re: Cron führt keine Jobs aus

Post by Jimi »

Hallo,

auch ich habe mit dem shutdownscript das gleiche Problem. Es läuft die .636 full.
Über Putty funktioniert es, als Cronjob nicht. Auch nicht mit dem "Jetzt ausführen" Button. Der Pfad wurde komplett angegeben, die Datei ist ausführbar gemacht. In crontab steht der Eintrag auch drin.

http://wiki.nas4free.org/doku.php?id=faq:0043 habe ich ebenfalls durch und hat mir nicht geholfen.

Glaube nicht das die Lösung so weit entfernt ist, nur komme ich nicht drauf. "sh" läßt sich ohne weiteren Befehl in Cron ausführen, mit der zusätzlichen Pfadangabe zum script gibts immer den Fehler wie oben schon beschrieben.

Gruß Jimi

bense
Starter
Starter
Posts: 32
Joined: 06 Jan 2013 09:33
Status: Offline

Re: Cron führt keine Jobs aus

Post by bense »

huhu, will ja nicht so sein und stelle dir mal mein eigens gewursteltes Script zur Verfügung :)
das geht bei mir perfekt :)

Code: Select all

!/bin/sh

HOST1=WDTVLive 			#IP des ersten PC (WD TV Live: Medienplayer)
HOST2=MediaRechner		#IP des zweiten PC (Rechner: MediaRechner)
ip_range=192.168.178.   #Netzadresse des eigenen Netzwerkes ohne den Hostanteil
ip=20					    #checke Netz ab Hostanteil 20 (192.168.178.20)
ipto=30					  #checke Netz bis Hostanteil 30 (192.168.178.30)

check1=0

ping -c 1 $HOST1 || ping -c 1 $HOST2

# Checken ob PC1 oder PC2 an ist
if [ $? = 0 ] 
	then 
		exit #entfernen um zum IP Bereich check zu kommen, da kann man auch noch einen sleep einbauen!
	else 
		sleep 120 #120sec. warten und dann zur nächsten abfrage
fi


ping -c 1 $HOST1 || ping -c 1 $HOST2

# erneutes Checken ob PC1 oder PC2 an ist
if [ $? = 0 ] 
	then 
		exit #entfernen um zum IP Bereich check zu kommen, da kann man auch noch einen sleep einbauen!
	else 
		shutdown -p +1
fi


# Checken ob PC's im IP-Bereich an sind
while [ $ip -le $ipto ]
	do
	ping -c 1 $ip_range$ip			
	if [ $? = 0 ] ; then check1=$(( $check1+1 )) ; fi
ip=$(( $ip+1 ))	#erhöhe Hostanteil immer um 1
done

if [ $check1 = 0 ] ; then shutdown -p +1 ; fi	#Prüfung ob ein Rechner an war

exit

Jimi
NewUser
NewUser
Posts: 2
Joined: 30 Mar 2013 13:41
Status: Offline

Re: Cron führt keine Jobs aus

Post by Jimi »

Hi bense,

du hast vollkommen Recht, deins funktioniert einwandfrei. Habs mir ein wenig angepaßt und Cron meckert kein Stück mehr.
Was hat bei dem anderen Script den Fehler ausgelöst?

Auf jeden Fall ein ganz großes Dankeschön an Dich !

Gruß Jimi

bense
Starter
Starter
Posts: 32
Joined: 06 Jan 2013 09:33
Status: Offline

Re: Cron führt keine Jobs aus

Post by bense »

denke das es an dem liegt :)

Code: Select all

_exit () {
case $1 in
    1) echo "Kein Shutdown - Mindestens einer der PCs ist eingeschaltet" ;;
    2) echo "Kein PC online - Shutdown" ; shutdown -p now ;;
esac
exit $1;
}

Post Reply

Return to “Deutsch”