Warum fehlt der Ordner /home in meinem mit Tar erstellten Sicherungsarchiv?

Warum fehlt der Ordner /home in meinem mit Tar erstellten Sicherungsarchiv?

Daher führe ich mit dem folgenden Befehl ein vollständiges Backup meines VPS durch (natürlich als Root):

tar czvf 20120604.tar.gz /

Alles scheint in Ordnung zu sein, alle Dateien scheinen in der Liste zu erscheinen. Die Größe des Archivs beträgt 6 GB und die der komprimierten Version 11 GB, einschließlich /home, da ich insgesamt 11 GB Daten auf VPS habe. Aber wenn ich versuche, das Archiv tatsächlich zu entpacken oder es mit mc oder WinRAR zu öffnen, gibt es keinen /home-Ordner. Und WinRAR sagt 20120604.tar.gz - TAR+GZIP archive, unpacked size 894 841 346 bytes. Es kann nicht an einem Fehler von WinRAR liegen, denn wenn ich eingebe tar xzvf 20120604.tar.gz, /homewird der Ordner auch nicht entpackt.

Warum /homefehlt der Ordner in meinem Archiv? Und was kann ich tun, um ihn dort einzuschließen?

tar --versiongibt folgendes aus:tar (GNU tar) 1.15.1

Antwort1

Ich vermute stark, dass der Ausschluss des /homeVerzeichnisses in Ihrem getarnten Backup eine Folge der Ausführung als Root ist (das Stammverzeichnis von Root ist /root/). Ein Blick auf die Manpage (entnommen aushttp://linux.die.net/man/1/tar) stehen folgende Optionen zur VerfügungMaimögliche Ursache/Lösung/Debugging Ihrer Situation:

  Main operation mode: 
    -C, --directory=DIR
        change to directory DIR 
    -p, --preserve-permissions
        extract information about file permissions (default for superuser) 
    -v, --verbose
        verbosely list files processed 

  Operation modifiers:
    -g, --listed-incremental=FILE
        handle new GNU-format incremental backup 
    -G, --incremental
        handle old GNU-format incremental backup 

  Handling of file attributes: 
    --group=NAME
        force NAME as group for added files 
    --mode=CHANGES
        force (symbolic) mode CHANGES for added files 
    --no-same-owner
        extract files as yourself (default for ordinary users) 
    --no-same-permissions
        apply the user's umask when extracting permissions from the archive (default for ordinary users) 
    --no-xattrs
        Don't extract the user/root xattrs from the archive 
    --numeric-owner
        always use numbers for user/group names 
    --owner=NAME
        force NAME as owner for added files 
    -p, --preserve-permissions, --same-permissions
        extract information about file permissions (default for superuser) 
    --same-owner
        try extracting files with the same ownership as exists in the archive (default for superuser) 
    --xattrs
        Save the user/root xattrs to the archive 

  Device selection and switching:
    --force-local
        archive file is local even if it has a colon 

  Archive format selection:
    -H, --format=FORMAT
        create archive of the given format--FORMAT is one of the following: 
    gnu, oldgnu, pax, posix, ustar, v7, --old-archive, --portability, 
    --pax-option=keyword[[:]=value][,keyword[[:]=value]]... , --posix, 
    -V, --label=TEXT
        <see webpage/ man page for details>

  Local file selection:
    --add-file=FILE
        add given FILE to the archive (useful if its name starts with a dash) 
    -C, --directory=DIR
        change to directory DIR 
    -h, --dereference
        follow symlinks; archive and dump the files they point to 
    --hard-dereference
        follow hard links; archive and dump the files they refer to 
    -K, --starting-file=MEMBER-NAME
        begin at member MEMBER-NAME in the archive 
    --one-file-system
        stay in local file system when creating archive 
    -P, --absolute-names
        don't strip leading '/'s from file names 
    --recursion
        recurse into directories (default) 

  File name transformations:
    --no-anchored
        patterns match after any '/' (default for exclusion) 
    --no-ignore-case
        case sensitive matching (default) 
    --no-wildcards
        verbatim string matching 
    --no-wildcards-match-slash
        wildcards do not match '/' 
    --wildcards
        use wildcards (default) 
    --wildcards-match-slash
        wildcards match '/' (default for exclusion) 

  Informative output:
    --index-file=FILE
        send verbose output to FILE 
    -l, --check-links
        print a message if not all links are dumped 
    --show-defaults
        show tar defaults 
    --show-omitted-dirs
        when listing or extracting, list each directory that does not match search criteria 
    --show-transformed-names, --show-stored-names
        show file or archive names after transformation 
    -v, --verbose
        verbosely list files processed 
    -w, --interactive, --confirmation
        ask for confirmation for every action 

Es gibt sicherlich VIEL zu beachten, aber Linux-Befehle sind auf jeden Fall flexibel und leistungsstark. Ich stelle mir vor, dass Sie, wenn Sie jede dieser Optionen mithilfe einer Testbox mit eingeschränkter Dateisystemstruktur untersuchen und dabei die Distribution ausführen, die Sie verwenden möchten, genau die Kombination finden, die Sie in Ihr Skript aufnehmen müssen, um genau das gewünschte Ergebnis zu erzielen.

Könnten Sie im Interesse der gemeinsamen Wissensvermittlung bitte die Lösung zurückschicken, die das gewünschte Verhalten erzeugt?

verwandte Informationen