> Nun möchte ich dieses aber lieber im Zip Format ausführen.
Welches Zip genau?
(Du verwendest ja schon ein zip...)
1 | #!/bin/env bash
|
2 | TIMESTAMP=$(date "+%Y-%m-%dT%H-%M-%S")
|
3 | getPassword='123456'
|
4 | getUser='root'
|
5 | PATHFILENM="/media/usb0/GenerellesBackup/Backup_${TIMESTAMP}.gz"
|
6 |
|
7 | mkdir --path "$(dirname ""${PATHFILENM}"")"
|
8 |
|
9 | echo "Erstelle Backup in: ${PATHFILENM}"
|
10 | sudo \
|
11 | /usr/local/mysql4/bin/mysqldump \
|
12 | -u"${getUser}" -p"${getPassword}" \
|
13 | --all-databases \
|
14 | | gzip > "${PATHFILENM}"
|
*gzip vs. zip*
gzip ist einfach ein Dateikompressor : er liest einen Datestrom
und schreibt ihn neu komprimiert aus. Entspr. kann es auch zwischen
stdin und stdout einfach zwischengeschaltet werden (piping).
Unter angabe von Dateinamen, kann der Datenstrom von einer Datei
gelesen resp.in eine Datei geschreiben werden (der urspr. Dateinamen
ist jedenfalls weg).
zip ist ein DateiENarchivierer : er fügt mehrere
Dateien/Verzeichnisse in eine neue Archivdatei, welche auch für jede
enthaltene Datei/Verzeichnis den ursprünglichen Namen/Attribute/usw.
mitführt.
Für o.g. Anwendung muss also erst das unkomprimierte Backup auf
(irgend)einem Speichermedium mit genügend Platz unter einem Dateinamen
abgespeichert werden.
Erst danach kann Zip sinnvoll archivieren.
Nur mit oben aufgeführtem Pfad, hiesse dies dass erst langsam (weil USB)
die unkomprimierte Backupdatei geschrieben wird, dann die ganze von USB
gelesen und erst zum Schluss komprimiert als Archiv wieder geschrieben
wird. (2x unkomp. Datentransfer zuviel!)
Der bisherige Ansatz mit gzip in der Pipe ist eleganter und effektiver.
Umwege/Tricks/Alternativen sind sicher möglich [1], wird aber aufwändig
und hängt von den möglichkeiten des Systems ab (RAM-Menge, freier
Speicherplatz, tools)
Oder möchtest Du nur am Schluss das .gz in einem Ziparchiv haben? [2]
Oder alle .gz Dateien in einem einzigen Ziparchiv sammeln? [2]
[1] man zip zeigt ob/wie mit deinem Zip in einer Pipe gearbeitet wird.
Oder: erst ein Zip-Archiv (leer oder m. kl. Alibidatei) anlegen und
dann RW mounten, dann das Backup direkt reinschreiben (Alibidatei
ersetzen) könnte auch eine Strategie sein...
[2] da kann Zip aber nix mehr an Kompression rausholen...