tar -Syntax



  • Hallo,

    ich habe vor mir eine kleine Datensicherung mit Shell-Skript und tar zu bauen, prinzipell kein PRoblem, aber ich möchte gerne ein Verzeichnis tar-en, aber einzelne Unterverzeichnisse ausschliessen, z.B.

    Verzeichnis: daten
    unterverzeichnisse: daten1,daten2,daten3,daten4

    nun möchte ich "sagen" tar-e mir das Verzeichnis Daten, aber ohne die Verzeichnisse: daten2 und daten3

    Die man-Page sagt, es sollte mit -X funktionieren, goole sagt:
    es sollte mit --exclude-from='Datei mit den Verzeichnissen'
    Aber das alles funzt nicht.

    hat jemand ein Beispiel für mich?
    Das mit der Exclude-Datei ist ja perfekt, die könnte ich ja immer anpassen.

    Danke für Eure Hilfe.

    Gruss AlexK 🕶



  • Ich habe es rausbekommen, ein bisschen stures probieren hat es gebracht:

    #tar -cv --exclude-from=exclude_file -f /test.tar ./*

    in der exclude_file -Datei stehen die Verzeichnisse drin
    #more exclude_file
    *daten2*
    *daten3*

    Gruss Alex



  • Geht doch bestens:

    ~ % ls tmp
    a  b  c  x  y  z
    ~ % cat exclude
    tmp/x
    tmp/y 
    tmp/z
    ~ % tar --exclude-from=exclude -cf tmp.tar tmp
    


  • Globs da drin sind keine gute Idee, mach das lieber ohne die *.



  • Hallo,

    das mit der Exclude-file-List funktioniert nun perfekt, ich habe die * weg gelassen, danke für den Tip

    Jetzt habe ich aber ein neues Problem, ich kann mein Archiv nicht komprimieren mit der Option -z

    ich habe folgenden Code probiert:

    tar --exclude-from=exclude_file --totals -cvf  /dev/st0 ./*
    
    tar -cvz --exclude-from=exclude_list --totals -f /dev/st0 /var/lib/mysql/allgemein /etc /home
    

    wobei ersteres nur der Testcode ist.

    Das Teil will nicht komprimieren, es legt mir bei -z nur eine datei an ./z

    Was mache ich falsch? 😕

    Gruss Alex



  • Hallo,

    man, jetz thabe ich es anders versucht aber ich bin nicht fähig, das zu ver-pipe-en

    tar --exclude-from=exclude_file --totals -cvf  /temp/dasi.tar ./* |gzip -f > /dev/st0
    

    kommt der Fehler:
    **Total bytes written: 20480 (20KiB, 3.8MiB/s)

    gzip: stdout: Invalid argument
    **
    wobei das erst vom Tar-kommt, funktioniert, aber muss gzip das nicht auf der stdin erwarten? bin ich jetzt ganz blöd? 😕

    Gruss Alex 😕


Anmelden zum Antworten