RSYNC EXCLUIR DIRECTORIO
- 2864
- 6
- Alejandro Duran
El comando RSYNC en un sistema Linux se puede usar para sincronizar el contenido de dos directorios. Por defecto, RSYNC transferirá todo archivos y directorios al destino especificado. Si hay un subdirectorio que desea excluir de la transferencia, RSYNC nos da dos opciones para hacerlo.
En este tutorial, mostraremos dos métodos para excluir uno o múltiples directorios de una transferencia RSYNC. Siga junto con los comandos de ejemplo a continuación en su propio sistema para configurar un directorio para exclusión.
En este tutorial aprenderás:
- Cómo excluir un directorio en el comando rsync
Categoría | Requisitos, convenciones o versión de software utilizada |
---|---|
Sistema | Cualquier distribución de Linux |
Software | rsync |
Otro | Acceso privilegiado a su sistema Linux como root o a través del sudo dominio. |
Convenciones | # - requiere que los comandos de Linux dados se ejecuten con privilegios raíz directamente como un usuario raíz o mediante el uso de sudo dominiops - Requiere que los comandos de Linux dados se ejecuten como un usuario regular no privilegiado |
Excluir el directorio en rsync
La primera opción que cubriremos es usar el --excluir
opción en el comando rsync. Así es como se utilizaría para excluir el directorio LinuxConfig
En el comando de ejemplo a continuación.
$ RSYNC -AV --exclude LinuxConfig/Path/To/Src//Path/To/Dest/
En el comando anterior, estamos sincronizando el contenido de /ruta/a/src
con el de /Path/To/Dest
y omitir el LinuxConfig
directorio. Tenga en cuenta, sin embargo, que el camino a LinuxConfig
es relativo a la de nuestra ruta fuente, que en este caso es /ruta/a/src
. Por lo tanto, RSYNC supone que el directorio LinuxConfig
está dentro de /ruta/a/src
.
Pero, ¿y si el LinuxConfig
El directorio es en realidad un poco más profundo en nuestro directorio de origen? Digamos que el camino absoluto al directorio que deseamos excluir es en realidad /ruta/a/src/some/subdir/linuxconfig
. En ese caso, nuestro comando RSYNC se vería así:
$ rsync -av -exclude some/subdir/linuxconfig/path/to/src//path/to/dest/
Ahora, ¿qué tal múltiples directorios?? Podemos usar tantos --excluir
opciones como queramos. Intentemos excluir tres directorios de nuestra transferencia RSYNC con este comando:
$ RSYNC -AV --exclude Some/Subdir/LinuxConfig --exclude Some/Other/Dir --exclude Exppledir/Path/To/Src//Path/To/Dest/
El comando anterior hará su trabajo como se esperaba, pero como puede ver, el comando crece gradualmente más difícil de manejar a medida que le agregamos más directorios excluidos. ¿Qué pasa si queremos excluir 15 directorios?? Ese comando será una monstruosidad. Pero ahí es donde rsyn'c otra opción --excluir de
entra en juego.
El --excluir de
La opción RSYNC nos permite especificar un archivo que contiene una lista de directorios que se excluirán. El archivo debe ser de texto sin formato, por lo que un simple .El archivo txt funcionará. Lista de un directorio por línea mientras está compilando la lista de directorios que desea excluir.
$ cat.txt some/subdir/linuxconfig some/other/dir y toppledir
Con nuestro archivo de exclusiones creadas, ahora podemos hacer referencia en nuestro comando RSYC:
$ rsync -av -exclude-from = 'excluir list.txt '/ruta/a/src//rath/to/dest/
Ahora estamos excluyendo los mismos tres directorios que antes, pero nuestro comando es mucho más conciso y podemos continuar agregando más directorios a nuestro archivo de exclusión según sea necesario.
Conclusión
En este artículo, aprendimos dos métodos para excluir uno o múltiples directorios de un comando RSYNC en Linux. Una opción es buena para un pequeño número de exclusiones y la otra es más apropiada cuando tiene una larga lista de directorios que desea excluir. Pero su función principal es la misma y debe usar lo mejor para su escenario de copia de seguridad.
Tutoriales de Linux relacionados:
- Ejemplos de RSYNC en Linux
- Cosas que hacer después de instalar Ubuntu 20.04 fossa focal Linux
- Cosas para instalar en Ubuntu 20.04
- Cómo montar la imagen ISO en Linux
- Comandos básicos de Linux
- Comandos de Linux: los 20 comandos más importantes que necesitas ..
- Cómo eliminar el directorio y el contenido en Linux
- Sistema colgado de Linux? Cómo escapar a la línea de comando y ..
- Cosas que hacer después de instalar Ubuntu 22.04 Jellyfish de Jammy ..
- Una introducción a la automatización, herramientas y técnicas de Linux