Tengo una carpeta que contiene archivos para un sitio web estático como:
/site/index.html
/site/css/css.css
/site/js/js.js
/site/images/...
Si actualizo algo en mi computadora portátil, quiero un solo comando para enviar los archivos a mi servidor ubuntu. No quiero configurar FTP en él si no lo tengo también, preguntándome si scp podría manejar esto.

tartravés dessh: unix.stackexchange.com/a/10028/79839Respuestas:
El comando
scp -r source user@target:destrecorrerá todos los subdirectorios de origen y los copiará.Sin embargo, se
scpcomporta comocpy siempre copia archivos, incluso si es igual tanto en el origen como en el destino. [Ver aquí para una solución alternativa.]Como este es un sitio web estático, lo más probable es que solo esté haciendo actualizaciones, no recreando todo, por lo que probablemente encontrará que las cosas se mueven más rápido si usa
rsyncover ssh en lugar descp. Probablemente algo como...Para empezar. Si está haciendo esto a través de una LAN, personalmente usaría las opciones
-avWpararsync.Rsync también le brinda la capacidad de duplicar eliminaciones en su fuente; así que si elimina un archivo de su árbol, puede ejecutarlo
rsynccomo se indica arriba e incluir la bandera--deletey eliminará el mismo archivo del lado de destino.fuente
scp tiene una bandera recursiva que hará lo que quieras.
scp -r /base/directory user@server:/to/locationdesde
man scpfuente
scp -r y rsync -r son las formas más confiables de obtener lo que desea, como otros han señalado.
También puede usar sshfs para 'montarlo' como si fuera una unidad local:
sshfs user@host:/site /mnt/mountpoint(Sin embargo, probablemente sea mejor trabajar localmente e implementar con rsync. Solo otra herramienta a tener en cuenta).
fuente