Come escludere più directory con rsync?

134

Sto provando a fare il backup della mia directory home usando rsync, e voglio escludere alcune delle directory che contengono junk. Voglio escludere in modo specifico /home/ben/.ccache e /home/ben/build . Sfortunatamente la documentazione di rsync era sovraccarico di informazioni e non rispondeva alla mia domanda. Questo è quello che ho provato:

rsync -arv --exclude "/home/ben/.ccache:/home/ben/build" /home/ben /media/ben/thumbdrive/

Qual è il modo giusto per farlo?

    
posta Freedom_Ben 16.07.2013 - 01:53

3 risposte

175

OK mi sento davvero stupido. Prima di pubblicare questa domanda, il mio amico mi ha mostrato come farlo ed è molto semplice. Per escludere più directory devi semplicemente utilizzare più% opzioni di% di scambio. Quindi il mio comando sopra scritto correttamente è il seguente:

rsync -arv --exclude=.ccache --exclude=build /home/ben /media/ben/thumbdrive/
    
risposta data Freedom_Ben 16.07.2013 - 01:53
82

Quando hai più directory e / o file da escludere, crea un file di testo e usa l'opzione --exclude-from . Crea un file chiamato exclude_me.txt e in esso elenca le tue esclusioni. Esempio ( /home/ben/exclude_me.txt ):

.ccache
build
.java
.gvfs
.xsession-errors

Quindi il tuo rsync sarà simile a:

rsync -arv --exclude-from='/home/ben/exclude_me.txt' /home/ben /media/ben/thumbdrive/

Queste sono alcune informazioni sulle regole del filtro che possono aiutare:

  • /dir/ significa esclude la cartella radice /dir
  • /dir/* significa ottenere la cartella radice /dir ma non i contenuti
  • dir/ significa escludere qualsiasi cartella ovunque il nome contenga dir/

  • Esempi esclusi: /dir/, /usr/share/directory/, /var/spool/dir/ /var/spool/lpd/cf significa saltare i file che iniziano con cf in qualsiasi cartella entro /var/spool/lpd

Vedi anche la sezione regole di filtro nella pagina man.

    
risposta data user228759 19.05.2014 - 17:13
57

Puoi anche escludere più percorsi all'interno di parentesi graffe:

rsync -arv --exclude={.ccache,build} /home/ben /media/ben/thumbdrive/
    
risposta data György Ráth 18.09.2014 - 10:59

Leggi altre domande sui tag