Cómo excluir el directorio RSYNC?

Cómo excluir el directorio RSYNC?
RSYNC (representa la sincronización remota) es una utilidad de línea de comandos muy potente para la sincronización de archivos y directorios locales y remotos. Viene preinstalado en la mayoría de las distribuciones de Linux. Es una de las mejores utilidades para la copia de seguridad y el mantenimiento de archivos y directorios en múltiples ubicaciones sincronizadas. La mejor parte de RSYNC es que minimiza la cantidad de datos que se copian en la ubicación remota al copiar solo los datos que se han cambiado. Hay otra gran característica de RSYNC que vamos a discutir hoy; Excluye archivos o directorios de sincronización. Esto es extremadamente útil durante las copias de seguridad cuando no desea copiar uno o más archivos o directorios.

Le mostraremos cómo puede excluir un archivo o directorio en RSYNC usando diferentes ejemplos. Los ejemplos presentados aquí han sido probados en Ubuntu 20.04 LTS, sin embargo, estas también son válidas para otras distribuciones de Linux que tienen RSYNC instalado.

Excluir un archivo específico

Al sincronizar un directorio, es posible que desee excluir un archivo específico ubicado dentro de él. Puede hacerlo utilizando la opción -exclude seguida del nombre de archivo encerrado en comas.

La sintaxis del comando será:

$ rsync -a --exclude 'file_name' fuente_directory/ destination_directory/

Aquí, a La opción se usa para la sincronización recursiva.

Por ejemplo, para excluir un archivo llamado muestra.TXT de la fuente al sincronizar src_dir y Dest_dir, El comando sería:

$ rsync -a -exclude 'muestra.TXT 'src_dir/ dest_dir/

Excluir un directorio específico

Para excluir un directorio específico (incluidos sus subdirectorios) de la fuente al sincronizar la fuente y los directorios de destino, use la siguiente sintaxis:

$ rsync -a --exclude 'directorio_name' src_dir/ dest_dir/

Por ejemplo, para excluir un directorio llamado muestra Al sincronizar el src_dir y Dest_dir, El comando sería:

$ rsync -a --exclude 'sampledir' src_dir/ dest_dir/

Si desea excluir el contenido del directorio pero no el directorio en sí, use el nombre del directorio seguido de /*:

$ rsync -a --exclude 'SampleDir/*' src_dir/ dest_dir/

El comando anterior solo copiará el directorio al destino pero no a su contenido.

Excluir múltiples archivos o directorios

Para excluir múltiples archivos o directorios durante el proceso de sincronización, especifique cada uno de ellos de la siguiente manera:

$ rsync -a --exclude 'file_name' --exclude 'directorio1 --exclude' directorio2 'src_dir/ dest_dir/

En lugar de especificar -excluir opción por separado para cada archivo o directorio, puede usar un solo -excluir opción especificando todos los archivos o directorios en corchetes rizados.

$ rsync -a --exclude = 'file_name', 'Directory1', 'Directory2' src_dir/ dest_dir/

Otra opción para excluir múltiples archivos o directorios es enumerándolos en un archivo y luego pasando el nombre de archivo al -excluir de opción:

$ rsync -a --exclude -from 'list' src_dir/ dest_dir/

Aquí, la "lista" contiene el nombre de archivo y directorios que queremos excluir. Este comando sincroniza src_dir al Dest_Dir al excluir los archivos y directorios mencionados en el archivo "Lista".

Excluir archivos o directorios que coincidan con un patrón

Con RSYNC, también puede excluir archivos o directorios que coincidan con un patrón específico. Por ejemplo, al sincronizar un directorio, es posible que desee excluir todos los archivos que terminan con un .TXT extensión. El comando, en este caso, sería:

$ rsync -a --exclude '*.TXT 'src_dir/ dest_dir/

Excluir un archivo por tamaño

Con RSYNC, puede excluir archivos en función de su tamaño mínimo o máximo. Aquí, no utilizaremos la opción -exclude, sino las opciones -max -size = o -min -size == basadas en el tamaño máximo y mínimo, respectivamente.

Aquí está el listado de nuestro src_dir que muestra nombres de archivo junto con sus tamaños en MB.

Digamos que queremos sincronizar todos los archivos al Dest_Dir, excepto aquellos con un tamaño mayor que 100 MB. En este caso, el comando sería:

$ rsync -av --max -size = 100m src_dir/ dest_dir/

Del mismo modo, para excluir archivos que son más pequeños que un tamaño específico, digamos 50 MB, el comando sería:

$ rsync -av --min -size = 50m src_dir/ dest_dir/

Conclusión

Eso es todo lo que hay! En esta publicación, hemos discutido diferentes ejemplos para excluir un archivo o un directorio en RSYNC. Hemos mostrado cómo excluir un solo archivo o directorio, múltiples archivos y directorios, archivos que coinciden con un patrón específico y los archivos basados ​​en sus tamaños mínimos/máximos.