GNU/Linux >> Linux Esercitazione >  >> Linux

Comando shell per la directory tar escludendo determinati file/cartelle

Puoi avere più opzioni di esclusione per tar so

$ tar --exclude='./folder' --exclude='./upload/folder2' -zcvf /backup/filename.tgz .

ecc funzionerà. Assicurati certo per inserire --exclude prima gli elementi di origine e di destinazione.


vecchia domanda con molte risposte, ma ho scoperto che nessuna era abbastanza chiara per me, quindi vorrei aggiungere il mio tentativo.

se hai la seguente struttura

/home/ftp/mysite/

con i seguenti file/cartelle

/home/ftp/mysite/file1
/home/ftp/mysite/file2
/home/ftp/mysite/file3
/home/ftp/mysite/folder1
/home/ftp/mysite/folder2
/home/ftp/mysite/folder3

quindi, vuoi creare un file tar che contenga tutto all'interno di /home/ftp/mysite (per spostare il sito su un nuovo server), ma file3 è solo spazzatura, e tutto in folder3 inoltre non è necessario, quindi salteremo quei due.

usiamo il formato

tar -czvf <name of tar file> <what to tar> <any excludes>

dove c =create, z =zip e v =verbose (puoi vedere i file mentre vengono inseriti, utile per assicurarti che nessuno dei file che escludi venga aggiunto). e f=file.

quindi, il mio comando sarebbe simile a questo

cd /home/ftp/
tar -czvf mysite.tar.gz mysite --exclude='file3' --exclude='folder3'

nota che i file/cartelle esclusi sono relativamente alla radice del tuo tar (ho provato qui il percorso completo relativo a / ma non riesco a farlo funzionare).

spero che questo aiuti qualcuno (e me la prossima volta che lo cerco su Google)


Possibili opzioni per escludere file/directory dal backup usando tar:

Escludi i file utilizzando più modelli

tar -czf backup.tar.gz --exclude=PATTERN1 --exclude=PATTERN2 ... /path/to/backup

Escludi i file utilizzando un file di esclusione riempito con un elenco di modelli

tar -czf backup.tar.gz -X /path/to/exclude.txt /path/to/backup

Escludi i file utilizzando i tag inserendo un file di tag in qualsiasi directory che dovrebbe essere saltata

tar -czf backup.tar.gz --exclude-tag-all=exclude.tag /path/to/backup

Puoi escludere le directory con --exclude per tar.

Se vuoi archiviare tutto tranne /usr puoi usare:

tar -zcvf /all.tgz / --exclude=/usr

Nel tuo caso forse qualcosa come

tar -zcvf archive.tgz arc_dir --exclude=dir/ignore_this_dir

Linux
  1. Come escludere file di determinate dimensioni dalla copia in Linux

  2. Come eseguire il tar (comprimere) i file, escludendo determinati file o directory

  3. Shell - Come trovare la directory di alcuni comandi?

  4. Come escludere una directory in find . comando

  5. comando linux per svuotare tutti i file di una directory

Comando tar di Linux – Come comprimere file in Linux

Come escludere una directory durante la ricerca di file in Linux

Come elencare i file in modo ricorsivo in Linux

Come contare i file nella directory su Linux

Guida introduttiva al comando Tar

Come contare il numero di file in una directory in Linux