¿Qué es el modo de archivo en rsync?

170

Sé que puede usar -ao --archiveactivar el modo de archivo cuando usa rsync. Desafortunadamente, no tengo idea de qué se supone que debe hacer el modo de archivo, y la página del manual no es para nada explícita sobre lo que es:

es igual a -rlptgoD (no -H, -A, -X)

¿Puede explicar qué significan esas opciones ( rlptgoD) y cuál es el comportamiento de rsync cuando las uso?

allyourcode
fuente

Respuestas:

204

Es todo esto:

-r, - recursividad recursiva en directorios

-l, --links copia los enlaces simbólicos como enlaces simbólicos

-p, --los permisos conservan los permisos

-t, --times conserva los tiempos de modificación

-g, --grupo preservar grupo

-o, --propietario preservar propietario (solo superusuario)

-D igual que --dispositivos - especiales

- los dispositivos conservan los archivos del dispositivo (solo superusuario)

- especiales preservar archivos especiales

Excluye:

-H, --hard-links conserva los enlaces duros

-A, --acls preserva las ACL (implica -p)

-X, --xattrs preservan los atributos extendidos

Es perfecto para copias de seguridad. Mi conjunto "predeterminado" de interruptores es -avzP: modo de archivo, ser detallado, usar compresión, preservar archivos parciales, mostrar el progreso.

Nota: Invariablemente, cuando las descripciones dicen "preservar", significa que el destino sea como la fuente.

Andrés
fuente
26
+1: sí, está en la página de manual, pero también es bueno verlo aquí con la respuesta para una referencia fácil
cwd
3
más fácil que mirar en la página de manual: P?
Salami
1
+1 para compartir la combinación de opciones para copias de seguridad (-avzP).
RoboAlex
2
Sí, en algún lugar del camino, lmgtfy se volvió más fácil que la sincronización manual.
Stu
1
@xealits Según la página de manual,The -P option is equivalent to --partial --progress.
Sutandiono
15

Se asegura de que el permiso, los atributos, etc. sean los mismos en ambos lados. rsync solo funciona de esa manera ... si desea sincronizar archivos, debe usar un parámetro.

Esto se debe a que rsync compara estos permisos, atributos, etc. en ambos lados para determinar si son el MISMO ARCHIVO y decidir si deben actualizarse. si usa rsync -r xxx aaa en su lugar rsync -a xxx aaaa, algunos archivos se copiarán una y otra vez, porque el permiso, el atributo no se sincronizarán y fallarán en ambos lados ...

David
fuente
14

El interruptor de archivo es solo un atajo para evitar tener que ingresar un grupo de interruptores que normalmente usará si usa rsync para hacer copias de seguridad (una tarea común).

Es lo mismo que escribir:

rsync -r -l -p -t -g -o -D

Y es mucho más fácil de recordar. Puede encontrar definiciones para todos esos modificadores en la página del manual.

(Los guiones son opcionales cuando se combinan varios conmutadores de una letra).

Steve Simms
fuente
8
gracias, pero creo que te estás perdiendo mi punto. ¿Puede explicar qué combina todas esas opciones sin hacerme leer 7 partes diferentes de la página del manual, que probablemente se refieren a otras partes de la página del manual?
allyourcode
17
Creo que te estás perdiendo el punto de que es importante leer la página de manual para saber exactamente lo que estás haciendo. rsync tiene algunas opciones muy poderosas, ¡incluida una forma de eliminar archivos! Es como pedir ayuda para usar una sierra de mesa porque no le gusta leer los manuales de instrucciones.
David M
2
Por supuesto, simplemente no me gusta leer el manual de instrucciones por centésima vez cuando puedo referirme a una hoja de trucos.
CivFan