Perché / home folder manca nel mio archivio di backup creato da tar?


3

Quindi sto facendo il backup completo del mio VPS usando il seguente comando (come root, ovviamente):

tar czvf 20120604.tar.gz /

Tutto sembra andare bene, tutti i file sembrano apparire nella lista. La dimensione dell'archivio è di 6 GB e la versione gunzippata è di 11 GB che include /home, perché ho completamente 11 GB di dati su VPS. Ma quando provo effettivamente a decomprimere l'archivio, o lo apro usando mc o WinRAR, non c'è la cartella / home. E WinRAR dice 20120604.tar.gz - TAR+GZIP archive, unpacked size 894 841 346 bytes. Non può essere il bug di WinRAR, perché quando scrivo tar xzvf 20120604.tar.gz, /home la cartella non è scompattata.

Perché è /home cartella mancante dal mio archivio? E cosa posso fare per includerlo lì?

tar --version emette il seguente: tar (GNU tar) 1.15.1


Hai provato IZArc?
Ignacio Vazquez-Abrams

L'ho appena provato, ho /home cartella pure
Konstantin Pereiaslov

Una domanda, quando sei loggato come root, puoi cambiare la directory corrente in / home e cercare i file? Se / home viene montato tramite NFS (ad esempio), potrebbe non essere accessibile da root (in base alle opzioni di esportazione NFS). Questa è solo un'idea.
Huygens

È accessibile, potrei persino creare un archivio separato, usando tar czvf home.tar.gz /home e funziona esattamente come dovrebbe. E in qualche modo /home è incluso nell'archivio, ma non è visibile da alcun software, perché i file fuori / casa richiedono solo circa 1 GB e la dimensione del tar è di 11 GB.
Konstantin Pereiaslov

1
È / home un collegamento simbolico ad un altro posto? (ad esempio / usr / local / home /). È possibile che Winrar si rompa su collegamenti simbolici, giunzioni ecc.?
Hennes

Risposte:


2

Sospetto fortemente l'esclusione del /home la directory nel tuo backup tar'd è il risultato dell'esecuzione come root (directory home directory di root /root/ ). Dando un'occhiata alla pagina man (presa da http://linux.die.net/man/1/tar ), le seguenti opzioni potrebbe potenzialmente causa / risoluzione / debug della tua situazione:

  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 

Sicuramente MOLTO da considerare, ma i comandi di Linux non sono nulla se non flessibili e potenti. Immagino che se studi ognuna di queste opzioni usando una scatola di prova con una struttura di filesystem limitata, eseguendo la distribuzione che intendi impiegare, colpirai la combinazione esatta da includere nella sceneggiatura per produrre il risultato esatto che desideri.

Per il gusto di costruire una conoscenza comune, potresti postare con la soluzione che dà il comportamento che desideri?


Conosco il manuale, non lo sto eseguendo nella directory / root /, lo sto eseguendo in / home / usename, quindi posso scaricarlo tramite ftp. Potrebbe essere un motivo di esclusione di / home dall'archivio (che lo ha ancora in base alle dimensioni)? Ne dubito
Konstantin Pereiaslov
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.