rsync - ¿Excluir archivos que tienen un tamaño determinado?

43

Estoy haciendo una copia de seguridad de mi escritorio en una máquina remota. Básicamente estoy haciendo rsync -a ~ example.com:backup/Sin embargo hay un montón de archivos de gran tamaño, por ejemplo, Wikipedia vertederos, etc. La mayoría de los archivos me importa mucho acerca de un pequeño, como los archivos cookie Firefox o .bashrc. ¿Hay alguna invocación a rsync que excluya archivos que tengan un tamaño determinado? De esa forma, primero podría copiar todos los archivos de menos de 10 MB y luego hacer todos los archivos. De esa manera puedo hacer una copia de seguridad rápida de los archivos más importantes, luego una copia de seguridad más larga de todo lo demás.

Rory
fuente
Sí, todas esas .isoimágenes o .movgrabaciones de pantalla no solo ocupan un espacio valioso sino también un tiempo valioso. Estoy en una carrera contra el tiempo para hacer una copia de seguridad de mi computadora antes de entregarla a las personas de Apple iRepair que controlan sus datos incluso cuando no son necesarios.
Sridhar Sarnobat

Respuestas:

74

Hay una max-sizeopción:

--max-size=SIZE         don't transfer any file larger than SIZE

Asi que:

# rsync -rv --max-size=1.5m root@tss01:/tmp/dm

Solo enviará archivos de menos de 1,5 m.

En cuanto a los tamaños del hombre: los sufijos son los siguientes: "K" (o "KiB") es un kibibyte (1024), "M" (o "MiB") es un mebibyte (1024 * 1024) y "G" ( o "GiB") es un gibibyte (1024 * 1024 * 1024). Si desea que el multiplicador sea 1000 en lugar de 1024, use "KB", "MB" o "GB". (Nota: también se acepta minúscula para todos los valores). Finalmente, si el sufijo termina en "+1" o "-1", el valor se compensará con un byte en la dirección indicada *

davey
fuente
3
Sin embargo, tenga en cuenta que --max-size no es una "exclusión" real, de la página de manual: esta opción es una regla de transferencia, no una exclusión, por lo que no afecta los datos que entran en las listas de archivos, y por lo tanto no afecta a las eliminaciones. Simplemente limita los archivos que el receptor solicita que se transfieran.
schlicht