Irgendwie hab ich noch nicht durchschaut mit welcher Blockgröße ich DD anweisen soll, das Label zu schreiben.
laut "/dev/ns0 status" schreibt das LTO Laufwerk mit 1024 Byte. Wenn ich in mehrere Archive schreibe, positioniere und lese klappt
das wunderbar. Wenn ich aber mit diesem Standard Blocksize das Label schreibe und wieder
lesen möchte bekomme ich nichts runter. Setze ich bspw. vor dem Label schreiben "setblk 0" kann ich das Label schreiben und lesen,
aber auf das folgende TAR Archiv kann ich werde positionieren noch lesen.
Das folgende Script zählt zu meinen "Hausaufgaben" und soll einfach das Label
schreiben, ein TAR danach archivieren, rückspulen, Label anzeigen und das folgende
TAR Archiv lesen. Wo liegt da mein Denkfehler ? Bekomme am Anfang des Scriptes ein "dd: Schreiben von „/dev/nst0“: Das Argument ist ungültig", was schmeckt ihm daran nicht?
Als Ausgabe des Scripts bekomme ich:
PS: Bin mit dem Scripten noch am Anfang, wenns auch eigentlich trivial ist naja hat ja jeder mal angefangen.
laut "/dev/ns0 status" schreibt das LTO Laufwerk mit 1024 Byte. Wenn ich in mehrere Archive schreibe, positioniere und lese klappt
das wunderbar. Wenn ich aber mit diesem Standard Blocksize das Label schreibe und wieder
lesen möchte bekomme ich nichts runter. Setze ich bspw. vor dem Label schreiben "setblk 0" kann ich das Label schreiben und lesen,
aber auf das folgende TAR Archiv kann ich werde positionieren noch lesen.
Das folgende Script zählt zu meinen "Hausaufgaben" und soll einfach das Label
schreiben, ein TAR danach archivieren, rückspulen, Label anzeigen und das folgende
TAR Archiv lesen. Wo liegt da mein Denkfehler ? Bekomme am Anfang des Scriptes ein "dd: Schreiben von „/dev/nst0“: Das Argument ist ungültig", was schmeckt ihm daran nicht?
Code:
SaveDir="/home/erde/Backup/" # Backup Verzeichnis
Wochentag=`date +%A` # Wochentag
Datum=`date +%F` # Datum
Zeit=`date +%R` # Uhrzeit
Programm=TAR # Sicherungsprogrammes
LabelNeu="/home/erde/Backup/LabelNeu.dat" # Variablen
LabelAlt="/home/erde/Backup/LabelAltdat" # Variablen
#
# Bereitstellung eines Bandlabels mit aktuellem Datum für die akt. Sicherung
#
echo -e "Wochentag:$Wochentag\nDatum:$Datum\nZeit:$Zeit\nSicherungsprogramm:$Programm" > $LabelNeu
echo $LabelNeu
#
#Labeln des Bandes mit aktuellen Daten
#
mt -f /dev/nst0 rewind # Rückspulen des Bandes
#mt -f /dev/nst0 setblk 0
dd if=$LabelNeu of=/dev/nst0 count=1 # Beschreibung des Bandes mit akt. Label
tar cfv - /home/erde/.kde/ -b 1024 | mbuffer -s 1048576 -m 400M -p 98 > /dev/nst0
mt -f /dev/nst0 rewind # Rückspulen des Bandes
dd if=/dev/nst0 of=LabelTest count=1 # Auslesen gelabeltes Band
#echo "Gelesenes Label vom Band"
cat LabelTest # Was für ein Label war auf dem Band
mt -f /dev/nst0 fsf 1 # Positionierung am Anfang der 1. TAR Sicherung
tar -tf /dev/nst0
Code:
./test
/home/erde/Backup/LabelNeu.dat
dd: Schreiben von „/dev/nst0“: Das Argument ist ungültig
0+1 Datensätze ein
0+0 Datensätze aus
0 Bytes (0 B) kopiert, 0,000686236 s, 0,0 kB/s
tar: Entferne führende „/“ von Elementnamen
/home/erde/.kde/
:::::::::::
mbuffer: warning: output does not support syncing: omitted.
in @ 2044 kB/s, out @ 2044 kB/s, 1024 kB total, buffer 0% full
summary: 1536 kB in 2.1 sec - average of 736 kB/s
1+0 Datensätze ein
1+0 Datensätze aus
512 Bytes (512 B) kopiert, 2,24456 s, 0,2 kB/s
home/erde/.kde/0000700000175000001440000000000011052743321012370 5ustar erdeuserstar: +: Nicht im Archiv gefunden.
tar: Lesen: Nicht im Archiv gefunden.
tar: des: Nicht im Archiv gefunden.
tar: Bandinhaltes: Nicht im Archiv gefunden.
tar: Fehler beim Beenden, verursacht durch vorhergehende Fehler.