Copia de seguridad de archivos desde el servidor (IP estática) al servidor doméstico (IP dinámica)

Copia de seguridad de archivos desde el servidor (IP estática) al servidor doméstico (IP dinámica)

Ya estoy familiarizado y uso rsync, scp transfers, tar, 7z, etc., sin embargo, ninguno de los cuales resuelve una copia de seguridad que pretendo hacer con bastante regularidad.

Tengo un servidor remoto con un 80 % de espacio utilizado en un SSD de 100 GB del que me gustaría realizar una copia de seguridad. El servidor tiene más de 10.000 archivos pequeños, por lo que un tarball básico o algún tipo de compresión intermedia (como rsync -z) será de ayuda.

Tengo un servidor en casa en el que me gustaría realizar una copia de seguridad, pero utiliza IP dinámica.

El problema es usarrsync-zoscp y tar (a través de tubería), debe hacerse en un servidor remoto, pero ese servidor no puede ver mi servidor doméstico porque está en IP dinámica.

Por lo tanto, sólo puedo ejecutar comandos en mi servidor doméstico comousuario scp@servidor remoto:/archivos/a/copia de seguridad /home/usuario/copias de seguridadpero esto no puede usar compresión, por lo que la gran cantidad de archivos tarda mucho en transferirse.

¿Hay una manera mas rápida?

PD: no necesito almacenar permisos de archivos, etc., como lo hace tarball

Editar: debido al espacio limitado en el servidor remoto, no puedo crear un tarball allí y acceder al servidor doméstico. Por tanto, tiene que ser en tiempo real.

Respuesta1

¿Por qué no puedo utilizar iniciar rsyncdesde su objetivo de respaldo? No existe ninguna restricción inherente rsyncque lo impida. Correr

rsync -avz [email protected]:/data /backupdir 

en el destino de la copia de seguridad (servidor doméstico) debería hacer precisamente eso.

Respuesta2

Hay muchas opciones. La más fácil podría ser simplemente agregar el comando -C a SSH o algo así, lo que permite la compresión del enlace.

Una solución más sofisticada (y más rápida, asegúrese de tener muchos archivos pequeños y latencia) sería eliminar scp y usar una tubería para comprimir datos sobre la marcha. Algo así como tar -cz /path/to/backup | SSH user@remote "cd /path; tar -xz" comprimirá y descomprimirá archivos usando compresión gzip. Por supuesto, no hay nada que le impida usar un comando diferente después de ssh si, por ejemplo, solo desea almacenar el archivo comprimido, puede usar "cat > /path/to/file.tar.gz" en su lugar.

No me queda claro por qué estás hablando aquí de IP dinámicas. Si esto plantea un problema, puede usar DNS dinámico o configurar una VPN con el servidor en el estático o iniciar una extracción desde la IP dinámica en lugar de enviar desde la estática.

información relacionada