freisei
03-09-2008, 09:06
Hallo erstmal :)
Ich hab hier ein script, das versucht mit Fehlern von smbmount im unterscript (nethddmounttry) korrekt umzugehen.
Leider haut
tmpfile=/tmp/NETHDDMOUNTSTATE
for i in `seq 1 5`; do
echo "Mountversuch $i..."
scriptdir=`dirname $0`
trycmd=$scriptdir/nethddmounttry
($trycmd &);
echo "Warte 65 sekunden..."
sleep 65
state=`cat $tmpfile`
echo state: $state
if [ "$state" == "MOUNTING" ]; then
echo smbmount vermutlich aufgehängt. Killing and restarting.
kill -9 `cat /var/run/nethddmounttry`
fi
if [ "$state" == "MOUNTEDAFTERTRYUNMOUNT" ] || [ "$state" == "FILESOPEN" ] || [ "$state" == "OK" ] ; then
echo "mount OK mit state: "$state
exit 0
fi
done
echo nethddmount: fehlgeschlagen mit state: $state
exit 1
leider hauts mich nach ner weile raus. Wenn ich die Wartezeit im sleep auf 10 sek. runtersetze passiert das nicht. Muss also irgendwie an so ner art Maximaler Ausführungszeit liegen. Gibts das?
hier mal die Ausgabe (vom unterscript kommen die pings, die anderen ausgaben hab ich gekürzt)
server1:~/scripts# ./backup_data_nethdd
/dev/drbd0 on /srv/dataA type ext3 (rw)
Mountversuch 1...
Warte 65 sekunden...
backup verlauf
PING 192.168.1.211 (192.168.1.211) 56(84) bytes of data.
From 192.168.1.11 icmp_seq=1 Destination Host Unreachable
--- 192.168.1.211 ping statistics ---
1 packets transmitted, 0 received, +1 errors, 100% packet loss, time 0ms
PING 192.168.1.212 (192.168.1.212) 56(84) bytes of data.
From 192.168.1.11 icmp_seq=1 Destination Host Unreachable
--- 192.168.1.212 ping statistics ---
1 packets transmitted, 0 received, +1 errors, 100% packet loss, time 0ms
FEHLER: konnte 192.168.1.211 oder 192.168.1.212 nicht pingen
state: PINGFAILED
Mountversuch 2...
PING 192.168.1.211 (192.168.1.211) 56(84) bytes of data.
From 192.168.1.11 icmp_seq=1 Destination Host Unreachable
--- 192.168.1.211 ping statistics ---
1 packets transmitted, 0 received, +1 errors, 100% packet loss, time 0ms
PING 192.168.1.212 (192.168.1.212) 56(84) bytes of data.
From 192.168.1.11 icmp_seq=1 Destination Host Unreachable
--- 192.168.1.212 ping statistics ---
1 packets transmitted, 0 received, +1 errors, 100% packet loss, time 0ms
FEHLER: konnte 192.168.1.211 oder 192.168.1.212 nicht pingen
Beendet
server1:~/scripts# ./backup_data_nethdd ~state: PINGFAILED
Mountversuch 3...
Warte 65 sekunden...
PING 192.168.1.211 (192.168.1.211) 56(84) bytes of data.
From 192.168.1.11 icmp_seq=1 Destination Host Unreachable
--- 192.168.1.211 ping statistics ---
1 packets transmitted, 0 received, +1 errors, 100% packet loss, time 0ms
PING 192.168.1.212 (192.168.1.212) 56(84) bytes of data.
From 192.168.1.11 icmp_seq=1 Destination Host Unreachable
--- 192.168.1.212 ping statistics ---
1 packets transmitted, 0 received, +1 errors, 100% packet loss, time 0ms
FEHLER: konnte 192.168.1.211 oder 192.168.1.212 nicht pingen
state: PINGFAILED
Mountversuch 4...
Warte 65 sekunden...
PING 192.168.1.211 (192.168.1.211) 56(84) bytes of data.
From 192.168.1.11 icmp_seq=1 Destination Host Unreachable
--- 192.168.1.211 ping statistics ---
1 packets transmitted, 0 received, +1 errors, 100% packet loss, time 0ms
PING 192.168.1.212 (192.168.1.212) 56(84) bytes of data.
From 192.168.1.11 icmp_seq=1 Destination Host Unreachable
--- 192.168.1.212 ping statistics ---
1 packets transmitted, 0 received, +1 errors, 100% packet loss, time 0ms
FEHLER: konnte 192.168.1.211 oder 192.168.1.212 nicht pingen
state: PINGFAILED
Mountversuch 5...
Warte 65 sekunden...
PING 192.168.1.211 (192.168.1.211) 56(84) bytes of data.
From 192.168.1.11 icmp_seq=1 Destination Host Unreachable
--- 192.168.1.211 ping statistics ---
1 packets transmitted, 0 received, +1 errors, 100% packet loss, time 0ms
PING 192.168.1.212 (192.168.1.212) 56(84) bytes of data.
From 192.168.1.11 icmp_seq=1 Destination Host Unreachable
--- 192.168.1.212 ping statistics ---
1 packets transmitted, 0 received, +1 errors, 100% packet loss, time 0ms
FEHLER: konnte 192.168.1.211 oder 192.168.1.212 nicht pingen
state: PINGFAILED
nethddmount: fehlgeschlagen mit state: PINGFAILED
ja und dann hängt er... hier. mit strg+c komm ich raus.
anz besonders komisch kommt mir der Abschnitt vor:
FEHLER: konnte 192.168.1.211 oder 192.168.1.212 nicht pingen
Beendet
server1:~/scripts# ./backup_data_nethdd ~state: PINGFAILED
Mountversuch 3...
Hier wird doch irgendwie das Hauptscript beendet, aber die schleift läuft trotzdem weiter...?
auch ps xa bestätigt mir das so...
Wie verhindere ich das beenden mittendrin?
Ich hab hier ein script, das versucht mit Fehlern von smbmount im unterscript (nethddmounttry) korrekt umzugehen.
Leider haut
tmpfile=/tmp/NETHDDMOUNTSTATE
for i in `seq 1 5`; do
echo "Mountversuch $i..."
scriptdir=`dirname $0`
trycmd=$scriptdir/nethddmounttry
($trycmd &);
echo "Warte 65 sekunden..."
sleep 65
state=`cat $tmpfile`
echo state: $state
if [ "$state" == "MOUNTING" ]; then
echo smbmount vermutlich aufgehängt. Killing and restarting.
kill -9 `cat /var/run/nethddmounttry`
fi
if [ "$state" == "MOUNTEDAFTERTRYUNMOUNT" ] || [ "$state" == "FILESOPEN" ] || [ "$state" == "OK" ] ; then
echo "mount OK mit state: "$state
exit 0
fi
done
echo nethddmount: fehlgeschlagen mit state: $state
exit 1
leider hauts mich nach ner weile raus. Wenn ich die Wartezeit im sleep auf 10 sek. runtersetze passiert das nicht. Muss also irgendwie an so ner art Maximaler Ausführungszeit liegen. Gibts das?
hier mal die Ausgabe (vom unterscript kommen die pings, die anderen ausgaben hab ich gekürzt)
server1:~/scripts# ./backup_data_nethdd
/dev/drbd0 on /srv/dataA type ext3 (rw)
Mountversuch 1...
Warte 65 sekunden...
backup verlauf
PING 192.168.1.211 (192.168.1.211) 56(84) bytes of data.
From 192.168.1.11 icmp_seq=1 Destination Host Unreachable
--- 192.168.1.211 ping statistics ---
1 packets transmitted, 0 received, +1 errors, 100% packet loss, time 0ms
PING 192.168.1.212 (192.168.1.212) 56(84) bytes of data.
From 192.168.1.11 icmp_seq=1 Destination Host Unreachable
--- 192.168.1.212 ping statistics ---
1 packets transmitted, 0 received, +1 errors, 100% packet loss, time 0ms
FEHLER: konnte 192.168.1.211 oder 192.168.1.212 nicht pingen
state: PINGFAILED
Mountversuch 2...
PING 192.168.1.211 (192.168.1.211) 56(84) bytes of data.
From 192.168.1.11 icmp_seq=1 Destination Host Unreachable
--- 192.168.1.211 ping statistics ---
1 packets transmitted, 0 received, +1 errors, 100% packet loss, time 0ms
PING 192.168.1.212 (192.168.1.212) 56(84) bytes of data.
From 192.168.1.11 icmp_seq=1 Destination Host Unreachable
--- 192.168.1.212 ping statistics ---
1 packets transmitted, 0 received, +1 errors, 100% packet loss, time 0ms
FEHLER: konnte 192.168.1.211 oder 192.168.1.212 nicht pingen
Beendet
server1:~/scripts# ./backup_data_nethdd ~state: PINGFAILED
Mountversuch 3...
Warte 65 sekunden...
PING 192.168.1.211 (192.168.1.211) 56(84) bytes of data.
From 192.168.1.11 icmp_seq=1 Destination Host Unreachable
--- 192.168.1.211 ping statistics ---
1 packets transmitted, 0 received, +1 errors, 100% packet loss, time 0ms
PING 192.168.1.212 (192.168.1.212) 56(84) bytes of data.
From 192.168.1.11 icmp_seq=1 Destination Host Unreachable
--- 192.168.1.212 ping statistics ---
1 packets transmitted, 0 received, +1 errors, 100% packet loss, time 0ms
FEHLER: konnte 192.168.1.211 oder 192.168.1.212 nicht pingen
state: PINGFAILED
Mountversuch 4...
Warte 65 sekunden...
PING 192.168.1.211 (192.168.1.211) 56(84) bytes of data.
From 192.168.1.11 icmp_seq=1 Destination Host Unreachable
--- 192.168.1.211 ping statistics ---
1 packets transmitted, 0 received, +1 errors, 100% packet loss, time 0ms
PING 192.168.1.212 (192.168.1.212) 56(84) bytes of data.
From 192.168.1.11 icmp_seq=1 Destination Host Unreachable
--- 192.168.1.212 ping statistics ---
1 packets transmitted, 0 received, +1 errors, 100% packet loss, time 0ms
FEHLER: konnte 192.168.1.211 oder 192.168.1.212 nicht pingen
state: PINGFAILED
Mountversuch 5...
Warte 65 sekunden...
PING 192.168.1.211 (192.168.1.211) 56(84) bytes of data.
From 192.168.1.11 icmp_seq=1 Destination Host Unreachable
--- 192.168.1.211 ping statistics ---
1 packets transmitted, 0 received, +1 errors, 100% packet loss, time 0ms
PING 192.168.1.212 (192.168.1.212) 56(84) bytes of data.
From 192.168.1.11 icmp_seq=1 Destination Host Unreachable
--- 192.168.1.212 ping statistics ---
1 packets transmitted, 0 received, +1 errors, 100% packet loss, time 0ms
FEHLER: konnte 192.168.1.211 oder 192.168.1.212 nicht pingen
state: PINGFAILED
nethddmount: fehlgeschlagen mit state: PINGFAILED
ja und dann hängt er... hier. mit strg+c komm ich raus.
anz besonders komisch kommt mir der Abschnitt vor:
FEHLER: konnte 192.168.1.211 oder 192.168.1.212 nicht pingen
Beendet
server1:~/scripts# ./backup_data_nethdd ~state: PINGFAILED
Mountversuch 3...
Hier wird doch irgendwie das Hauptscript beendet, aber die schleift läuft trotzdem weiter...?
auch ps xa bestätigt mir das so...
Wie verhindere ich das beenden mittendrin?