• Liebe User, bitte beachtet folgendes Thema: Was im Forum passiert, bleibt im Forum! Danke!
  • Hallo Gemeinde! Das Problem leidet zurzeit unter technischen Problemen. Wir sind da dran, aber das Zeitkontingent ist begrenzt. In der Zwischenzeit dürfte den meisten aufgefallen sein, dass das Erstellen von Posts funktioniert, auch wenn das Forum erstmal eine Fehlermeldung wirft. Um unseren Löschaufwand zu minimieren, bitten wir euch darum, nicht mehrmals auf 'Post Reply' zu klicken, da das zur Mehrfachposts führt. Grußworte.

mal wieder eine "tar ... | gzip ... > ..." Frage

Mitglied seit
08.03.2004
Beiträge
1.574
Reaktionen
0
ich möchte gerne auf meinem Server ein paar Verzeichnisse backuppen und dafür den faulen weg über automatisches verpacken und weglegen benutzen (kein dump der mySQL DB und sowas. sowas kann man später immernoch machen).

dafür schreibe ich mir ein shellscript was ich dann immer nachts vom cron starten lassen möchte.

mein problem ist, dass ich immer eine Fehlerausgabe von tar bekomme, wenn ich das script ausführe.

Fehlerausgabe:

Code:
Macintosh:PfadName shol$ ./dasShellScript
tar: Removing leading `/' from member names

das script ist recht klein, weshalb ich das einfach mal komplett hier rein packe:

Code:
#! /bin/sh

$datum = date "+ %Y%m%d"

tar -cf - /Users/shol/Documents/Testdatei1.doc /Users/shol/Documents/TestOrdner1 | gzip -c7 > /Users/shol/Documents/$datum-save.tar.gz

ich denke der tar fehler will mir sagen, dass ich keine direkten Pfadangaben machen soll. Will ich aber. Geht das wirklich nicht?



Und noch eine zweite Frage.

den DatumsString hängt er mir nicht vorne an den Dateinamen. Wie mach ich das denn am besten?

Wie immer danke für eure Hilfe :D


PS: und noch eine Sache die mir gleich aufgefallen ist. Er packt in der tar.gz datei alles noch in unterordner so dass ich dort die gleiche Struktur habe Users -> shol -> Documents
u.s.w.

was kann ich dagegen machen?
 
Mitglied seit
15.05.2003
Beiträge
11.307
Reaktionen
8
Ort
Fortuna 1895 Düsseldorf
Original geschrieben von Sholvar


Code:
#! /bin/sh

$datum = date "+ %Y%m%d"

tar -cf - /Users/shol/Documents/Testdatei1.doc /Users/shol/Documents/TestOrdner1 | gzip -c7 > /Users/shol/Documents/$datum-save.tar.gz


man tar sagt das nach tar -cf erstmal das archiv angegeben werden muss, also

tar -cf /mein/verzeichnis/meine_datei.tar foo bar

packt datei foo und bar in das archiv meine_datei.tar
 
Mitglied seit
08.03.2004
Beiträge
1.574
Reaktionen
0
naja, aber der output soll ja nicht in ein Verzeichnis gehen, sondern ins gzip. ich dachte das wäre automatisch klar, wenn ich ne pipe dahinter mache. bei gzip lasse ich den teil "was soll gezippt werden?" auch weg, weil gzip selber merkt, dass das aus der pipe kommt.


und zu dem manual
Wenn man absolut keinen Plan hat, sieht man da einfach nur einen haufen von Optionen, die jedes für sich ja noch keinen Gesamtzusammenhang erläutern. Deshalb sind die mans für einen als Anfänger irgendwie fast garnicht hilfreich, besonders wenn das man keine oder relativ wenige Beispiele anbietet

der Aufbau

tar -cf - name
ist da auch garnicht mit dabei. warum funktioniert das hier erst mit dem minus ohne irgendwas dran. das ist völlig untypisch für solche shell befehle oder?
 
Mitglied seit
09.11.2002
Beiträge
880
Reaktionen
0
Du kannst ja auch gleich tar cvzf <archiv> <dateien> nehmen. Oder cvjf <archiv> <dateien> um das durch bzip2 zu leiten. Also tar hat mit den Optionen z und j das von gzip bzw bzip2 pipen schon automatisch dabei.
Code:
tar cv backup.tar datei
gzip backup.tar
==
Code:
tar cvz backup.tar.zip datei
 

Aule2

Guest
Nein, der Bub will unbedingt mit Pipes rumspielen, da kommt er sich toller vor, sonst hätte er das schon aus dem letzten Fred mitgenommen...

Was die Variable angeht:
DATUM=`date "FormatString"`
da kein Doller hin!
Und auch hier gilt: RTFOH --> man bash.

${}, damit der dumme Shell-Interpreter weiß, wann die zuende ist...
 
Mitglied seit
31.10.2004
Beiträge
289
Reaktionen
0
Die Optionen z und j gibts imho nur bei gnu tar.

Ansonsten probiers mal mit diesem Skript:

Code:
#!/bin/sh

datum=$(date + %Y%m%d)

cd /
tar -cf - Users/shol/Documents/Testdatei1.doc Users/shol/Documents/TestOrdner1 | gzip -c7 > Users/shol/Documents/$datum-save.tar.gz
 
Mitglied seit
08.03.2004
Beiträge
1.574
Reaktionen
0
das letzte hat mich weitergebraucht. tar -cvz funktioniert bei mir nicht. trotzdem danke an alle :)
 
Mitglied seit
15.05.2003
Beiträge
11.307
Reaktionen
8
Ort
Fortuna 1895 Düsseldorf
Original geschrieben von Sholvar



und zu dem manual
Wenn man absolut keinen Plan hat, sieht man da einfach nur einen haufen von Optionen, die jedes für sich ja noch keinen Gesamtzusammenhang erläutern. Deshalb sind die mans für einen als Anfänger irgendwie fast garnicht hilfreich, besonders wenn das man keine oder relativ wenige Beispiele anbietet


ja, das kann anfangs verwirrend sein aber du kannst in der manpage nach beispielen suchen, gib mal /examples ein, oder einen suchstring deiner wahl. alternativ hilft auch eine google suche +tar +examples, wo es ebenfalls zahlreiche beispiele gibt, was man mit tar alles machen kann, das erspart die vielleicht den ein oder anderen arroganten kommentar.
 

The_Company

Guest
Junge, wenn Du Deine eigenen Backup Scripte schreibst, dann musst Du die Ahnung haben ne Man Page zu lesen.
Sonst kannst Du das mit den Scripten direkt vergessen, weil Du nicht mal die escaping rules von Bash begreifen wirst.
 
Oben