La forma más fácil de hacer una copia de seguridad de VPS

La forma más fácil de hacer una copia de seguridad de VPS

Mi situación:

Tengo VPS (ubuntu) con 2 sitios web. Como soy nuevo en los VPS (recientemente me mudé del alojamiento compartido), pasé casi 2 semanas aprendiendo cómo configurar mi VPS para ejecutar todos los sitios web de la manera que quería. Cometí muchos errores al configurar VPS, así que lo aprendí reinstalando/configurando/equivocando/reinstalando/configurando, etc.

Ahora todo está bien, el VPS está funcionando, todos los servicios que necesitaba también funcionan, aprendí muchas lecciones, TODO BIEN.

Preguntas:

  1. ¿Cuál es la forma más sencilla de realizar una copia de seguridad completa de VPS?

  2. ¿Puedo hacer una copia de seguridad de VPS simplemente usando WinSCP? Me refiero a conectarse a la carpeta raíz (/) y descargar todos los archivos VPS desde allí.

  3. En caso afirmativo, ¿cómo lo restauraría más adelante si fuera necesario reinstalar desde cero el VPS completo?

Información adicional sobre mi situación:

  • las bases de datos se respaldarán manualmente (posible a través de phpmyadmin)
  • no hay ninguna herramienta de respaldo en mi panel de administración de VPS (SolusVM)
  • No estoy usando ninguna GUI cpanel/directadmin/virtualmin, etc. solo consola

Respuesta1

Mi forma preferida de hacer una copia de seguridad de un servidor virtual remoto es simplemente copiar archivos; de todos modos, el kernel está en el host. Por supuesto, deberá tener cierto cuidado al restaurar y es posible que no sea posible realizar una restauración completa (a diferencia de una imagen de disco). Por otro lado, es más fácil migrar a otro servidor, como uno local para realizar pruebas.

Ahora, descargar muchos archivos pequeños a través de una conexión remota en realidad es bastante lento, debido a una gran sobrecarga. Esto es más significativo si estás físicamente lejos del servidor. Normalmente, prefiero agrupar todo en un solo tararchivo y luego comprimirlo para reducirlo.

El comando para esto es tar cpzf filename.tar.gz /(donde /significa hacer una copia de seguridad de todo desde la raíz de forma recursiva). es posible que deseesexcluir archivos de copia de seguridad existentes- si planea conservar muchas copias de seguridad, sería más fácil colocarlas todas en un directorio y excluir ese directorio. Luego sólo necesitas descargar ese archivo con el método que desees.

La restauración sería con el comando tar xpf filename.tarmientras se encuentra en el directorio raíz. Tú también puedesespecificar el directorio de destinocon -C.

Respuesta2

He respondido unpregunta idénticaen serverfault, y si bien cubre parte del mismo terreno que la respuesta de Bob, estoy usando herramientas ligeramente diferentes y un enfoque ligeramente diferente. Sugiero crear una lista de paquetes y usar rsync (ya que puede mantener los permisos y es bastante eficiente en la transferencia de archivos).

Si todo lo demás falla, existe el método antiguo: use dpkg --get-selections para descargar una lista de paquetes instalados e instálelos con dpkg --set-selections. Cree los mismos usuarios que el sistema fuente si es necesario: cat /etc/passwd debería enumerarlos y puede verificar con diff para ver si las dos listas son idénticas.

Luego use rsync para duplicar su carpeta /etc/ para la configuración, varias carpetas /home/ para los usuarios (y verifique los permisos aquí) y otras carpetas como /var/www/. Pruebe, asegúrese de que todo esté ahí y listo. Me lleva menos tiempo que configurar un servidor nuevo.

A veces, las formas antiguas y sencillas son las mejores. Si resuelve esto manualmente, simplemente escriba un script que lo replicará automáticamente en su servidor actual.

Respuesta3

Utilice rsync para realizar copias de seguridad incrementales sencillas. Puedes hacerlo desde la línea de comando o script en escenarios más sofisticados.

Ejemplo con el que puedes empezar:

$ options="--stats -aHh --delete"; echo == RUNNING with options: $options; time rsync -e ssh $options root@your-server-ip-or-hostname:/ /destination/my-server-backup --exclude /proc --exclude /dev --exclude /sys --exclude /run/udev

Puedes encontrar más ejemplos en el script que preparé, aunque originalmente para Windows, se puede aplicar directamente a Linux:https://github.com/paravz/windows-rsync-backup

información relacionada