Tar und Split - ich bekomme es nicht hin

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
Quickly1971
Beiträge: 110
Registriert: 08.05.2009 15:26:32

Tar und Split - ich bekomme es nicht hin

Beitrag von Quickly1971 » 11.09.2009 22:01:42

Hallo Leute.
Ich möchte ein TAR Archiv in einem Rutsch splitten.
Ich habe folgendes Script. Kann mir bitte jemand auf die Sprünge helfen?!?!?

Code: Alles auswählen

#!/bin/bash
#
#
### Zielverzeichnisse
TARGET1="/mnt/backup/smbsrv/daten/"
### Zielverzeichnisse anlegen Rechte und Eigentuemer
mkdir -p $TARGET1
chmod 0770 $TARGET1
chown root:root $TARGET1
umask 007
### tar with absolute-names
TAR="/bin/tar -P -pcf"
### Quellverzeichnisse festlegen
SOURCE1="/home/"
### Basisname der Bakupdatei
BASENAME1="home-"
#### Datum als Variable setzen
DATE=`date +%Y-%m-%d_%H-%M-%S`
### meta info file
IDENT_FILE_NAME1="identfile1.bu"
echo $DATE > $IDENT_FILE_NAME1
# Kompletter Name fuer jede Datei
TARGET_NAME1="$BASENAME1$DATE".tar""
### DaSi 1
# make the tar ball and tar dirs and exit on error
$TAR $TARGET1$TARGET_NAME1 $SOURCE1 $IDENT_FILE_NAME1 | split -b1000m - $TARGET1$TARGET_NAME1 || { echo tar error ; exit 1; }
rm $IDENT_FILE_NAME1 || { echo cleanup error ; exit 1; }
echo $TARGET1$TARGET_NAME1

exit 0
:? Es kalppt soweit alles...aber nicht das Splitten in 1000MB Files.

Bitte HILFE!!!!

Danke

Quickly
Der Mensch hat drei Wege, klug zu werden.
Erstens durch Nachdenken: Das ist der edelste.
Zweitens durch Nachahmen: Das ist der leichteste.
Drittens durch Erfahrung: Das ist der bitterste.

Benutzeravatar
habakug
Moderator
Beiträge: 4314
Registriert: 23.10.2004 13:08:41
Lizenz eigener Beiträge: MIT Lizenz

Re: Tar und Split - ich bekomme es nicht hin

Beitrag von habakug » 11.09.2009 22:19:36

Hallo!

Vielleicht hilft das Lesen der "info":

Code: Alles auswählen

info coreutils 'split invocation'
`-b SIZE'
`--bytes=SIZE'
Put SIZE bytes of INPUT into each output file. SIZE is a number
which may have one of the following multiplicative suffixes:
`b' => 512 ("blocks")
`KB' => 1000 (KiloBytes)
`K' => 1024 (KibiBytes)
`MB' => 1000*1000 (MegaBytes)
`M' => 1024*1024 (MebiBytes)
`GB' => 1000*1000*1000 (GigaBytes)
`G' => 1024*1024*1024 (GibiBytes)
and so on for `T', `P', `E', `Z', and `Y'.
Gruß, habakug
( # = root | $ = user | !! = mod ) (Vor der PN) (Debianforum-Wiki) (NoPaste)

gms
Beiträge: 7798
Registriert: 26.11.2004 20:08:38
Lizenz eigener Beiträge: MIT Lizenz

Re: Tar und Split - ich bekomme es nicht hin

Beitrag von gms » 11.09.2009 22:59:55

Quickly1971 hat geschrieben:$TAR $TARGET1$TARGET_NAME1 $SOURCE1 $IDENT_FILE_NAME1 | split -b1000m - $TARGET1$TARGET_NAME1 || { echo tar error ; exit 1; }
erstmal, durch den unnötigen Einsatz von Environmentvariablen wird das Script nur unübersichtlich

wenn du die "-f" Option beim tar verwendest, wird der Inhalt des Archives nur in die Datei geschrieben, das split-Kommando bekommt daher hier über die Pipe keinen ( brauchbaren ) Input.

Gruß
gms

Quickly1971
Beiträge: 110
Registriert: 08.05.2009 15:26:32

Re: Tar und Split - ich bekomme es nicht hin

Beitrag von Quickly1971 » 17.09.2009 17:16:50

Hallo.

Danke für die Hilfe.

Ohne die Option "f" hat es dann geklappt.

Vielen Dank.

Quickly
Der Mensch hat drei Wege, klug zu werden.
Erstens durch Nachdenken: Das ist der edelste.
Zweitens durch Nachahmen: Das ist der leichteste.
Drittens durch Erfahrung: Das ist der bitterste.

Antworten