Archiv verlassen und diese Seite im Standarddesign anzeigen : Band eingelegt via Skript abfragen?
Salut,
ich möchte in meinem Backup-Skript (bash) eine Statusabfrage, ob das Band eingelegt ist bevor ich die anderen Befehle durchführe? Wie kann ich das erreichen?
Grüße, e2e4
Basti_litho
11.03.04, 07:01
"mt" kann sowas.
Ich glaub das war es:
http://mtx.sourceforge.net
Ich weiß, dass ich mit
mt -f /dev/st0 off
ein Band auswerfen kann, aber mir ist nicht klar wie ich damit eine Abfrage gestalten kann ob ein Band schon ausgeworfen worde?
mtx ist interessant aber ein neues Paket - wenn es also mit mt eine Lösung gibt wäre ich sehr dankbar.
Grüße, e24
mach nen rewind mit mt -f /dev/st0 rewind
wenn es fehlschlaegt, ist kein Band drin...
"mt status" ist m.E. besser, da am Band selbst (Position etc.) nix verändert wird.
Gruß
Falko
Salut,
ich weiß, dass ich mit
mt -f /dev/st0 status
herausfiltern kann, ob ein Band eingelegt worden ist oder nicht.
Bei einem eingelegten Band erscheinen Informationen zum LW-Typ usw., bei keinem Band erscheint "no medium found". Um das ganze aber mittels einer if/then-Schleife abzufragen müßte ich doch wissen welche ERROR-CODES dabei erzeugt werden, oder?
Grüße, e2e4
Stimmt,
und leider hab ich nie etwas über die Exit-Codes von mt finden konnte :(
Ich mein mich zu erinnern, dass ich folgendes herausgefunden hatte:
0 = alles OK, Band drin
1 = alles OK, kein Band
2 = Fehler
Ansonsten:
mt
echo $?
Gruß
Falko
Salut,
diese Codes klingen gut.
Ansonsten:
mt
echo $?
Wie meinst Du das genau? Sorry, ich habe noch nicht soviel Erfahrung in Shell-Programmierung :)
Grüße, e2e4
Sorry:
zuerst rufst Du mt uauf, mal mit Band, mal ohne.
Dann sofort(!) danach "echo $?"
$? ist der Platzhalter für den aktuell letzten Exit-code.
Ergo "echo $?" um dir den Exit-code anzeigen zu lassen.
Gruß
Falko
Super! Danke! Damit kann ich die richtigen Codes auslesen. Folgende habe ich jetzt:
0 = alles OK, Band drin
2 = kein Band
Mit meiner Abfrage stimmt dennoch noch etwas nicht. Ich poste mal den Auszug hier:
[code]
mt -f /dev/st0 status
if [$? -ne 0]
then
echo "Kein Band drin"
exit 1
else
echo "Band gefunden."
fi
[code]
Als Fehler erhalte ich
./test.sh: [2: command not found
Das Band ist in dem Zustand nicht eingelegt.
Grüße, e2e4
Leerzeichen !
[ $? -ne 0 ]
Jau, einfach und gut! Danke! :)
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.