GNU/Linux >> Linux Esercitazione >  >> Linux

Come escludere directory specifiche dalla copia in Linux

Qualche tempo fa abbiamo discusso su come escludere dalla copia file di determinate dimensioni utilizzando rsync nei sistemi simili a Unix. Questo metodo ci ha aiutato a escludere i file di grandi dimensioni o meno importanti per completare il processo di copia il prima possibile. Quindi, possiamo copiare i file rimanenti in un secondo momento quando abbiamo tempo libero. Oggi, in questa breve guida, vedremo come escludere directory specifiche dalla copia utilizzando Rsync e cp comandi in Linux.

Escludi directory specifiche dalla copia in Linux

Potrebbero esserci molti modi per svolgere questo compito. Sono consapevole di seguire due metodi.

Metodo 1:utilizzo di rsync comando

Come forse già saprai, Rsync è uno strumento veloce e versatile per copiare file e cartelle in locale o su/da un altro host su qualsiasi shell remota o da/verso un demone rsync remoto. Rsync ha molte opzioni utili. Una delle opzioni utili è --exclude . Usando escludi opzione, possiamo escludere determinati file/directory dalla copia. Vediamo come farlo con un esempio.

Supponiamo che tu abbia una cartella chiamata otechnix . All'interno della directory ostechnix, ci sono tre sottodirectory:dir1dir2 e dir3 .

$ ls ostechnix/
dir1 dir2 dir3

Vuoi copiare dir1 e dir3 in una posizione diversa, ma non in dir2 . Come? Qui è dove rsync viene in aiuto.

Per escludere una directory specifica dalla copia utilizzando il comando rsync, esegui semplicemente:

$ rsync -av --progress ostechnix/ backup/ --exclude dir2

L'output di esempio sarebbe:

sending incremental file list
./
dir1/
dir1/file1.pdf
 6,152,611 100% 58.36MB/s 0:00:00 (xfr#1, to-chk=7/11)
dir1/file2
 2,597,261 100% 14.83MB/s 0:00:00 (xfr#2, to-chk=6/11)
dir1/file3.doc
 88,143 100% 470.37kB/s 0:00:00 (xfr#3, to-chk=5/11)
dir1/file4.txt
 66,374 100% 330.71kB/s 0:00:00 (xfr#4, to-chk=4/11)
dir3/
dir3/file1.pdf
 6,152,611 100% 18.39MB/s 0:00:00 (xfr#5, to-chk=3/11)
dir3/file2
 2,597,261 100% 6.68MB/s 0:00:00 (xfr#6, to-chk=2/11)
dir3/file3.doc
 88,143 100% 224.16kB/s 0:00:00 (xfr#7, to-chk=1/11)
dir3/file4.txt
 66,374 100% 164.10kB/s 0:00:00 (xfr#8, to-chk=0/11)

sent 17,813,759 bytes received 187 bytes 11,875,964.00 bytes/sec
total size is 17,808,778 speedup is 1.00

Il comando precedente copierà tutti i contenuti della cartella otechnix in una cartella denominata backup , ed escluderà la directory dir2 dalla copia.

In alternativa, puoi utilizzare lo stesso comando di seguito.

$ rsync -av --progress --exclude="folder_to_exclude" source_dirctory dest_directory

Esempio:

$ rsync -av --progress --exclude="dir2" ostechnix/ backup/

In realtà è una buona idea omettere o escludere dalla copia alcune directory grandi o meno importanti durante il backup del sistema utilizzando rsync per risparmiare tempo.

Per maggiori dettagli, controlla le pagine man.

$ man rsync

Leggi anche:

  • Come trasferire rapidamente file di grandi dimensioni in rete in Linux e Unix
  • Come trovare la dimensione di una directory in Linux dalla riga di comando

Metodo 2:utilizzo di cp comando

Possiamo anche usare cp comando per copiare cartelle da una posizione all'altra escludendo directory specifiche.

Vai alla tua directory di origine, ad esempio ostechnix nel nostro caso.

$ cd ostechnix/

E, esegui il seguente comando:

$ cp -r `ls -A | grep -v "dir2"` /home/sk/backup/

Il comando precedente copierà tutti i contenuti della cartella corrente otechnix tranne la sottodirectory dir2 e li salva in /home/sk/backup/ directory.

Ancora più semplice, possiamo farlo come segue.

$ cp -r !(dir2) /home/sk/backup/

Per maggiori dettagli, controlla le pagine man.

$ man cp

Linux
  1. Come rinominare una directory su Linux

  2. Come utilizzare il comando 'cp' per escludere una directory specifica?

  3. Come posso escludere le directory da grep -R?

  4. Come posso trovare un file specifico da un terminale Linux?

  5. Come utilizzare rsync dal PC Windows al server Linux remoto?

Come utilizzare rsync per escludere file e directory nel trasferimento di dati

Come escludere file e directory con Rsync

Come rinominare le directory in Linux

Come creare directory da un file di testo in Linux

Come navigare nelle directory più velocemente in Linux

Come eseguire il backup di file e directory utilizzando Rsync in Linux