Directorios tar al enviar con SSH

Directorios tar al enviar con SSH

Hoy en día, cuando quiero hacer una copia de seguridad de mi servidor, inicio sesión en él y luego ejecuto el siguiente comando que tarrea el directorio local "/ebs1" y lo envía a otro servidor en IP xxx.xxx.xxx.xxx y lo guarda en ese servidor de respaldo con el nombre "/ebs1_2019-06-02.tar".

tar -cvf - "/ebs1" | ssh -p 22 [email protected] "cat > /ebs1_2019-06-02.tar"

Funciona muy bien. Pero, ¿notaste que he iniciado sesión en el servidor del que se está realizando la copia de seguridad para ejecutar el comando anterior? Pero, ¿qué pasa si quiero iniciar sesión en el servidor de respaldo? ¿Cómo cambio el comando anterior?

Respuesta1

Por aquí:

ssh [email protected] tar cf - /ebs1 >/ebs1_2019-06-02.tar

Esto no funciona bien si el directorio del que se realizará la copia de seguridad contiene espacios o caracteres especiales, en cuyo caso deberá utilizar un comando como este:

ssh [email protected] tar cf - "'/directory name'" >/ebs1_2019-06-02.tar

...y esto puede volverse un inconveniente muy rápidamente. Es posible que desee escribir un script en la computadora de destino que contenga el tarcomando y ejecutarlo a través de ssh, para que no necesite escapar de todo en la línea de comando.

Sin embargo, si el nombre del directorio no contiene ningún carácter especial, el primer comando debería ser suficiente.

información relacionada