¿Puedo clonar un sistema de archivos raíz de un servidor en ejecución mediante ssh?

¿Puedo clonar un sistema de archivos raíz de un servidor en ejecución mediante ssh?

Quiero hacer una copia de seguridad de un servidor en ejecución. Todos los archivos de configuración y todo sin apagarlo.

¿Cómo puedo lograr esto? ¿Está bien intentar copiarlo todo? Porque tuve problemas con el rootdirectorio.

No quiero hacer mucha experimentación también porque tiene configuraciones importantes.

Estoy intentando hacer todo esto a través de ssh. ¿Cómo puedo hacer esta copia de seguridad?

¿Algunas ideas?

Respuesta1

Si desea una copia de seguridad de todos los datos, puede iniciar sesión en el servidor a través de ssh y luego simplemente copiar todos los archivos. Por ejemplo, con scpo con rsync.

Incluso puedes copiar todo, incluidos los archivos del sistema operativo, si usas
rsync -zvr --exclude /dev/ / destination_computer_name_or_ip

-r: recursivo
-v: detallado
-z: habilita la compresión

Tenga en cuenta que esto no copiará el registro de inicio. Para hacer eso, desea copiar todo el disco y desea hacerlo cuando el disco no esté montado. (Leer: Apague la máquina que desea realizar una copia de seguridad completa y arranque desde un LiveCD o arranque desde otra partición).

Luego use dd para leer todo el disco.

Código de ejemplo:

PC donde almacenar la copia de seguridad:
nc -l 4242 | gunzip | cat > my_full_disk_backup_of_PC_named_foo

Y en la PC para hacer una copia de seguridad:
dd if=/dev/sda of=- bs=1M | gzip | nc -p 4242 name_of_the_destination

dd leerá desde el disco. Todo el disco, incluidos los sectores de arranque y los sectores vacíos.
En el ejemplo lo configuramos para el primer disco como lo indica sda. Ajuste a sdb para el segundo disco, sdc para un tercer disco, etc., etc.

Salimos a std out, indicado por -.

bs=1M establece un tamaño de bloque. No necesita esto, pero sin él habrá muchas lecturas pequeñas y una sobrecarga enorme. Configurar esto en algún valor superior a 512 bytes o 4k acelerará las cosas.

A continuación canalizamos |la salida a través de gzip para comprimirla. Esto supone que su CPU será mucho más rápida que su red. Puede omitir el gzip en el origen y el gunzip en el destino, en cuyo caso enviará los datos sin procesar en lugar de los datos comprimidos a través de la red.

El último es nco netcat. Acepta la entrada del canal anterior y la coloca en la red, hacia el puerto 4242 en una computadora llamadanombre_del_destino.


En el lado receptor hacemos lo contrario:

Escuche a través de nc -l la entrada en el puerto 4242,

descomprima si es necesario,

Y finalmente escríbalo en un archivo.


Nota IMPORTANTE:

Puede hacer esto mientras arranca desde el disco del que está realizando la copia de seguridad. Pero no hay garantía de que el sistema de archivos permanezca igual durante una copia de seguridad. Por lo tanto, inténtelo sólo si puede arrancar con el disco en modo de sólo lectura. (por ejemplo, utilizando únicamente un disco RAM)

Respuesta2

Lo que yo haría es muy similar ahennes

Yo crearía un archivo iso, lo descargaría, lo pondría en un disco o USB y subiría una copia a Dropbox por si acaso.

mkisofs -V LABEL -r DIRECTORY | gzip > backup.iso.gz

Mi amigo aloja en rackspace, me dijo que los usuarios de rackspace tienen la opción de crear un archivo iso automáticamente, y si estaban migrando a un nuevo servidor, podrían almacenar la copia de seguridad anterior en el antiguo servidor en la nube usando rsynco lo que sea y cerrarlo. , todavía pagan pero es barato.

No sé si su hosting ofrece un sistema de respaldo automatizado o si está pagando por soporte. Vale la pena preguntarles y tal vez dejarles hacerlo, si es la primera vez.

información relacionada