GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo excluir directorios específicos de la copia en Linux

Hace un tiempo, discutimos cómo excluir la copia de archivos de cierto tamaño usando rsync en sistemas tipo Unix. Ese método nos ayudó a excluir los archivos de gran tamaño o los archivos menos importantes para completar el proceso de copia lo antes posible. Entonces, podemos copiar los archivos restantes más tarde cuando tengamos tiempo libre. Hoy, en esta breve guía, veremos cómo excluir directorios específicos de la copia usando Rsync y cp comandos en Linux.

Excluir directorios específicos de la copia en Linux

Podría haber muchas maneras de hacer esta tarea. Soy consciente de seguir dos métodos.

Método 1:usar rsync comando

Como ya sabrá, Rsync es una herramienta rápida y versátil para copiar archivos y carpetas localmente, o hacia/desde otro host a través de cualquier shell remoto, o hacia/desde un demonio rsync remoto. Rsync tiene muchas opciones útiles. Una de las opciones útiles es --exclude . Usar excluir opción, podemos excluir ciertos archivos/directorios de la copia. Veamos cómo hacerlo con un ejemplo.

Digamos que tiene una carpeta llamada ostechnix . Dentro del directorio ostechnix, hay tres subdirectorios, a saber, dir1dir2 y dir3 .

$ ls ostechnix/
dir1 dir2 dir3

Quiere copiar dir1 y dir3 a una ubicación diferente, pero no a dir2 . ¿Cómo? Aquí es donde rsync viene en ayuda.

Para excluir un directorio específico de la copia usando el comando rsync, simplemente ejecute:

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

La salida de muestra sería:

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

El comando anterior copiará todo el contenido de la carpeta ostechnix a una carpeta llamada copia de seguridad , y excluirá el directorio dir2 de copiar.

Alternativamente, puede usar el mismo comando que se muestra a continuación.

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

Ejemplo:

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

En realidad, es una buena idea omitir o excluir algunos directorios grandes o menos importantes de la copia mientras realiza una copia de seguridad de su sistema usando rsync para ahorrar tiempo.

Para obtener más detalles, consulte las páginas man.

$ man rsync

Lea también:

  • Cómo transferir rápidamente archivos grandes a través de la red en Linux y Unix
  • Cómo encontrar el tamaño de un directorio en Linux desde la línea de comandos

Método 2:uso de cp comando

También podemos usar cp comando para copiar carpetas de una ubicación a otra excluyendo directorios específicos.

Vaya a su directorio de origen, es decir, ostechnix en nuestro caso.

$ cd ostechnix/

Y ejecuta el siguiente comando:

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

El comando anterior copiará todo el contenido de la carpeta actual ostechnix excepto el subdirectorio dir2 y los guarda en /home/sk/backup/ directorio.

Aún más simple, podemos hacer esto de la siguiente manera.

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

Para obtener más detalles, consulte las páginas man.

$ man cp

Linux
  1. Cómo cambiar el nombre de un directorio en Linux

  2. Linux:¿cómo ejecutar un gestor de arranque desde Linux?

  3. ¿Cómo usar el comando 'cp' para excluir un directorio específico?

  4. ¿Cómo puedo excluir directorios de grep -R?

  5. ¿Cómo puedo encontrar un archivo específico desde una terminal Linux?

Cómo usar rsync para excluir archivos y directorios en la transferencia de datos

Cómo excluir archivos y directorios con Rsync

Cómo cambiar el nombre de los directorios en Linux

Cómo crear directorios desde un archivo de texto en Linux

Cómo navegar directorios más rápido en Linux

Cómo hacer una copia de seguridad de archivos y directorios usando Rsync en Linux