es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Sincronizar un directorio local con uno remoto a través de SFTP desde la línea de comandos.

Tengo un directorio local ./sync del cual deseo sincronizar cualquier cambio con un directorio remoto, digamos ~/folder en ssh://remote (como se define en la configuración de ssh).

Puedo hacer esto con WinSCP (solo en Windows), ¿pero también hay una manera simple de hacer lo mismo en la línea de comandos? Preferiblemente sin un script o cronjob.

Mi búsqueda arrojó rsync y unison, pero no pude hacer que ninguno de los dos funcione.

Cualquier ayuda es muy apreciada.

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Para sincronizar un directorio local ./sync con un directorio remoto ~/folder en ssh://remote utilizando la línea de comandos, se puede utilizar el comando rsync. La sintaxis para el comando sería:

    rsync -avz ./sync/ remote:~/folder/
    

    Aquí,

    • La opción -a preserva los atributos y permisos de los archivos durante la sincronización.
    • La opción -v habilita una salida detallada para mostrar el progreso de la sincronización.
    • La opción -z comprime los datos durante la transferencia para minimizar los datos enviados a través de la red.

    Se puede agregar este comando a un script de shell y ejecutarlo manualmente cada vez que se necesite sincronizar los cambios. Alternativamente, también se puede establecer un cronjob para que este comando se ejecute automáticamente en un horario programado.

Comments are closed.