Hallo Linux- Programmier- Cracks,
ich hab da mal wieder ein Problem.
Da ich nun schon einiges unter Linux laufen habe möchte ich dies auch auf mein Tapedrive sichern.
Tar Befehl usw ist mir schon klar. Läuft auch wenn ich es manuell eingebe.
Was ich nun noch möchte, ist das ganze in einem Scipt.
Das ganze soll so aussehen.
1.) Aufforderung zum einlegen des Tapes
2.) Bestätigung mit z. B. <Return> Taste
3.) Testen ob das Tape eingelegt ist, wenn nicht erneute Aufforderung.
4.) Rückspulen des Tapes
5.) Backup
6.) Ausgabe Text "Backup Ende"
Was ich bis jetzt schon habe ist
#! /bin/bash
#Backup Script
echo Bitte Tape einlegen
???????????????????
???????????????????
mt -f/dev/nst0 rewind
tar -cvf/dev/nst0 /home
echo Backup ende
Die zwei Zeilen mit Fragzeichen betreffen meine Anforderungen 2 und 3.
Unter Dos gibt es das Kommando Pause, sowas in der Art suche ich.
Oder irgend etwas ähnliches was mein Scipt vervollständigt.
Hab schon einiges an Sucharbeit hinter mir, aber nichts gefunden oder
einfach nach was falschem gesucht.
Für Eure Hilfe wäre ich euch sehr dankbar.
Oder weis jemand Seiten wo Beispiele für Backup-Scripts stehen.
Gruß
Peter
Shell Script für Backup Programm
Mahlzeit,
zu deinem pkt 3
mt mit der option status bei meinem rechner:
zoarix:~ # mt -f /dev/nst0 status
drive type = Generic SCSI-2 tape
drive status = 603979776
sense key error = 0
residue count = 0
file number = 0
block number = 0
Tape block size 0 bytes. Density code 0x24 (DDS-2).
Soft error count since last status=0
General status bits on (41010000):
BOT ONLINE IM_REP_EN
zoarix:~ # mt -f /dev/nst0 rewind
zoarix:~ #
zoarix:~ # mt -f /dev/nst0 offline
zoarix:~ # mt -f /dev/nst0 status
mt: /dev/nst0: No medium found
damit sollte sich doch was anfangen lassen!
Gruss
zu deinem pkt 3
mt mit der option status bei meinem rechner:
zoarix:~ # mt -f /dev/nst0 status
drive type = Generic SCSI-2 tape
drive status = 603979776
sense key error = 0
residue count = 0
file number = 0
block number = 0
Tape block size 0 bytes. Density code 0x24 (DDS-2).
Soft error count since last status=0
General status bits on (41010000):
BOT ONLINE IM_REP_EN
zoarix:~ # mt -f /dev/nst0 rewind
zoarix:~ #
zoarix:~ # mt -f /dev/nst0 offline
zoarix:~ # mt -f /dev/nst0 status
mt: /dev/nst0: No medium found
damit sollte sich doch was anfangen lassen!
Gruss
"pause": read VAR
Auf eingelegtes Band prüfen:Mangels Tapedrive, an dem ich testen könnte, kann ich Dir nicht genau sagen wonach Du greppen musst. Führ das "mt status"-Kommando mal aus, wenn kein Tape drinne liegt und such Dir da eine eindeutige Zeile von aus. Füge die anstelle von XXX oben ein und es sollte funktionieren.
Jochen
Code: Select all
echo Bitte Taste zerschmettern
read EGAL
Auf eingelegtes Band prüfen:
Code: Select all
if mt -f /dev/nst0 status | grep -q XXX ; then
echo Kein Band eingelegt
exit 1
fi
Jochen
Die grösste Lüge der EDV? "Mal eben..."
Tja, mit joerschs Info hat sich das ja schon erledigt.
Noch ein kleiner Tipp am Rande: Nach der Sicherung lasse ich das Band immer gerne auswerfen:Kombiniert Zurückspielen des Tapes und Auswerfen in einem.
Jochen
Noch ein kleiner Tipp am Rande: Nach der Sicherung lasse ich das Band immer gerne auswerfen:
Code: Select all
mt -f /dev/nst0 rewoffl
Jochen
Die grösste Lüge der EDV? "Mal eben..."
Danke, Danke
Hallo Jochen, hallo Joersch
habe Euren Rat beherzigt und alles so eingegeben, wie folgt:
#! /bin/bash
#Rückspul + Auswurf Script
echo Bitte Tape einlegen
read egal
if mt -f /dev/nst0 status | grep -q "No medium found ; then
echo Bitte Band einlegen
exit 1
fi
mt -f/dev/nst0 reoffl
Leider bricht mir jetzt das rückspulen ab, wenn kein Band eingelegt ist. Ich möchte aber erreichen, daß die Routine solange aktiv bleibt bis ein Band eingelegt ist und dann die Befehle ausführt.
Desweiteren habe ich noch ein Problem. Ich möchte das Band mit einem Namen versehen und zwar mit dem des zu sichernden Directories und dem Datum.
Die Prüfung des Bandes soll dann erfolgen auf das Directory. Wenn ein falsches Band drinnen ist, soll er solang weiterfragen bis das richtige Band drinnen ist.
Als Beispiel:
möchte mein - HEL_Mun - Directory am 01.09.2004 sichern.
eingabe: HEL_MUN 01092004
wo kann ich dem Tape einen Namen geben? im Tar Befehl oder mit dem mt Befehl?
wie muß ich die Namen trennen, daß ich z. B. auf HEL_MUN abfragen kann
habe Euren Rat beherzigt und alles so eingegeben, wie folgt:
#! /bin/bash
#Rückspul + Auswurf Script
echo Bitte Tape einlegen
read egal
if mt -f /dev/nst0 status | grep -q "No medium found ; then
echo Bitte Band einlegen
exit 1
fi
mt -f/dev/nst0 reoffl
Leider bricht mir jetzt das rückspulen ab, wenn kein Band eingelegt ist. Ich möchte aber erreichen, daß die Routine solange aktiv bleibt bis ein Band eingelegt ist und dann die Befehle ausführt.
Desweiteren habe ich noch ein Problem. Ich möchte das Band mit einem Namen versehen und zwar mit dem des zu sichernden Directories und dem Datum.
Die Prüfung des Bandes soll dann erfolgen auf das Directory. Wenn ein falsches Band drinnen ist, soll er solang weiterfragen bis das richtige Band drinnen ist.
Als Beispiel:
möchte mein - HEL_Mun - Directory am 01.09.2004 sichern.
eingabe: HEL_MUN 01092004
wo kann ich dem Tape einen Namen geben? im Tar Befehl oder mit dem mt Befehl?
wie muß ich die Namen trennen, daß ich z. B. auf HEL_MUN abfragen kann