Se describe en el rsync(1)
página de manual:
Una barra diagonal final en el origen cambia este comportamiento para evitar la creación de un nivel de directorio adicional en el destino. Puedes pensar en seguir /
en una fuente en el sentido de "copiar el contenido de este directorio" en lugar de "copiar el directorio por nombre", pero en ambos casos los atributos del directorio contenedor se transfieren al directorio contenedor en el destino. En otras palabras, cada uno de los siguientes comandos copia los archivos de la misma manera, incluida la configuración de los atributos de /dest/foo
:
rsync -av /src/foo /dest
rsync -av /src/foo/ /dest/foo
En cuanto al destino, no creo que tenga mayores consecuencias. Hay una diferencia si la fuente es un archivo y el destino no existe:esto hará una copia de SRC
llamado DEST
:
rsync SRC DEST
, mientras que esto creará el directorio DEST
y copia el SRC
archivo en él:
rsync SRC DEST/
Lo probé con rsync 3.1.3 en Arch Linux, los resultados están a continuación:
1. rsync -avPzu test [email protected]:/home/login/test "test" directory is copied inside of existing "test" on remote (structure is then test/test/...)
2. rsync -avPzu test [email protected]:/home/login/test/ same as above
3. rsync -avPzu test/ [email protected]:/home/login/test content of "test" directory is synchronized with the remote "test" directory
4. rsync -avPzu test/ [email protected]:/home/login/test/ same as above
5. rsync -avPzu test [email protected]:/home/login/ same as above
6. rsync -avPzu test [email protected]:/home/login same as above
Los métodos 3-6 son los correctos en este caso, contrario a la respuesta aceptada.