Página principal » cómo » Cómo excluir archivos de Rsync

    Cómo excluir archivos de Rsync

    Rsync es una de las utilidades más útiles para un administrador de servidor, pero se sincroniza todo por defecto, lo que puede ser molesto si su aplicación crea muchos archivos temporales. Aquí se explica cómo excluir archivos al usar rsync.

    Excluyendo de una lista en un archivo

    Este es el método ideal para excluir archivos y carpetas, ya que siempre puede editar la lista y modificar las cosas si es necesario. Aquí está la sintaxis:

    rsync --exclude-from = / ruta / a / exclusión-archivo / ruta / a / fuente / ruta / a / dest

    Lo complicado con rsync es que necesitas usar una ruta relativa cuando intentas excluir cosas, porque cuando trata de igualar las exclusiones no usará la primera parte de la ruta para la coincidencia ... es raro.

    Digamos, por ejemplo, que está intentando hacer una copia de seguridad / data / web / y enviarla a otro servidor, por lo que usa un comando como rsync -a / data / web / user @ server: / backups / data / web / para hacerlo sucede ... pero realmente te gustaría omitir la sincronización de la carpeta / data / web / cache /. Cuando rsync va a revisar su lista de exclusión para cada elemento que sincroniza, no verificará / data / web / cache /, ya que su comando rsync original se basa en la carpeta / data / web /. Simplemente marcará "caché /" en la lista. Así que tendrás que poner "caché" en la lista, no la ruta completa. Ejemplo:

    rsync -a --exclude-from = / data / exclusions / data / web / / backups /

    Ahora, para excluir / data / web / cache y / data / web / temp de rsync usando este comando, eliminaríamos la porción / data / web / de la ruta y el archivo / data / exclusions simplemente contendría esto:

    caché * temp *

    Notará que agregué el * en la ruta, para asegurarme de que coincida con cualquier cosa que comience con "caché" al principio. Puede usar este patrón de estrella por razones más útiles si lo desea; digamos que desea excluir todos los archivos .txt de la sincronización. Comenzarías el patrón con la estrella para asegurarte de que siempre coincida, y agregarías esto:

    *.TXT

    Eso aseguraría que esos tipos de archivos se omitan durante una sincronización. Es bastante simple más allá de eso.

    Excluyendo un solo artículo

    Esta técnica es mucho menos útil, pero puede usarla sobre la marcha si lo necesita. Si está configurando una secuencia de comandos para usar rsync, que normalmente es, debería dedicar un minuto extra a excluir de una lista de archivos para facilitar el mantenimiento futuro. La sintaxis es muy similar:

    rsync --exclude = relativo / ruta / a / exclusión / fuente / dest

    La misma ruta relativa debería aplicarse aquí como anteriormente.