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.