einzelne datei mit tar packen von stdin

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
aLiEnTxC
Beiträge: 126
Registriert: 31.07.2004 20:06:04
Kontaktdaten:

einzelne datei mit tar packen von stdin

Beitrag von aLiEnTxC » 24.01.2005 12:47:17

Hallo Forum,

bin gerade dabei ein Backup Script für meine SQL-DB anzulegen.

Dabei habe ich nun folgendes zusammen...

Code: Alles auswählen

#!/bin/sh

#set -x

DATUM=`date +%d-%m-%g`
FILENAME="topackt-${DATUM}.sql"

#mysqldump -u root -p --add-drop-table topackt > ./${FILENAME}
#tar cfvj ${FILENAME}.tar.bz2 ./${FILENAME}

mysqldump --add-drop-table --add-locks --all --complete-insert --extended-insert --flush-logs --force \
          --user=root --password='XXXXXX' topackt | tar cfvj -
Wie man sieht bin ich bei erster Lösung (die auskommentiert ist) auf die idee gekommen direkt das tar.bz2 über stdin zu erstellen.

Nur leider bin ich daran gescheitert... hat irgendwer ne ahnung wie das geht?

Denn es wäre mir lieber wenn ich keine temporäre datei brächte...

Gruß,
Thomas

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

Beitrag von gms » 24.01.2005 12:55:24

Code: Alles auswählen

mysqldump ... | tar -cfvj ${FILENAME}.tar.bz2
ups geht so nicht

tar ist allerdings auch völlig unnötig

Code: Alles auswählen

mysqldump ... | bzip2 >${FILENAME}.sql.bz2

aLiEnTxC
Beiträge: 126
Registriert: 31.07.2004 20:06:04
Kontaktdaten:

Beitrag von aLiEnTxC » 24.01.2005 17:55:51

hmm.. danke!

Aber warum iss tar unnötig?`

Wird es so nicht nocheinmal gepackt?

Oder ist tar einfach nur ein kontäner für mehrere dateien rechte usw.?

Benutzeravatar
Joghurt
Beiträge: 5244
Registriert: 30.01.2003 15:27:31
Wohnort: Hamburg
Kontaktdaten:

Beitrag von Joghurt » 24.01.2005 17:58:55

Tar ist dazu dar, mehrere Dateien in eine zu packen, inclusive Informationen über Rechte etc. Die Dateien selbst werden dabei nicht komprimiert. Deswegen ist tar sinnlos für eine einzige Datei.

Merke: Unter UNIX hat jedes Programm genau eine Aufgabe; die erledigt es jedoch auch gut.

gzip/bzip können eine Datei komprimieren, tar kann mehrere Dateien in eine packen.

Antworten