Copia en linux

Por 9.99€ al mes tendrás acceso completo a todos los cursos. Sin matrícula ni permanencia.

Copiar archivos desde mi máquina al servidor:

scp ~/archivo.txt usuario@servidor.com:/rutaConPermisosDeEscritura

-p Mantiene los registros de fecha de creación y última modificación,así como los permisos.
-r Copia recursivamente los directorios enteros.

Copiar archivos desde el servidor a mi máquina:

scp -pr usuario@servidor.com:ruta/archivo ruta_local

Copiar sólo los nuevos archivos (actualizar o sincronizar) desde mi máquina al servidor:

rsync -avz -e ssh rutaLocal usuario@servidor.com:/rutaConPermisosDeEscritura

-a, –archive obtenemos una copia exacta de una jerarquía de ficheros y directorios. Esta opción combina el parámetro -r para que el recorra toda la estructura de directorios que le indiquemos, el -l para que copie enlaces simbólicos como enlaces simbólicos, la -p para que mantenga los permisos, la -t para que se mantenga la hora del fichero, la -g para que se mantenga el grupo, la -o para que se mantenga el propietario, la -D para que se mantengan los ficheros de dispositivo (sólo para root). Ni se mantienen los hard links (-H) ni las ACLs (-A) por defecto.
-z comprime el bloque antes de enviarlo

Respecto a cómo pasarle los nombres de los directorios, hay que tener una especial atención respecto a si ponemos una barra al final del nombre del directorio o no, ya que significan cosas distintas:
rsync -av /src/foo /dest
rsync -av /src/foo/ /dest/foo
/path/foo significa “el directorio foo“, mientras que /path/foo/ significa “lo que hay dentro de foo“.

Por 9.99€ al mes tendrás acceso completo a todos los cursos. Sin matrícula ni permanencia.