Foros del Web » Administración de Sistemas » Unix / Linux »

Realizar un Backup VPS Centos

Estas en el tema de Realizar un Backup VPS Centos en el foro de Unix / Linux en Foros del Web. Hola, tengo una duda me gustaría saber si es posible hacer un backup de un sistema completo de archivos o de la totalidad del sistema, ...
  #1 (permalink)  
Antiguo 07/09/2015, 05:55
Avatar de luzzifer  
Fecha de Ingreso: julio-2009
Ubicación: Paraná - Argentina
Mensajes: 169
Antigüedad: 15 años, 4 meses
Puntos: 3
Pregunta Realizar un Backup VPS Centos

Hola, tengo una duda me gustaría saber si es posible hacer un backup de un sistema completo de archivos o de la totalidad del sistema, tengo contratado un VPS con Centos 6 32bits y me ofrecen un snapshot pero no puedo descargar ningún backup, entonces me gustaría saber si existe algún método para hacer un backup de todo el sistema completo desde dentro del so. para poder luego descargarlo por ftp. Y que luego me sirva por supuesto para poder migrar a otro si es necesario.
  #2 (permalink)  
Antiguo 07/09/2015, 06:28
Avatar de lauser
Moderator Unix/Linux
 
Fecha de Ingreso: julio-2013
Ubicación: Odessa (Ukrania)
Mensajes: 3.278
Antigüedad: 11 años, 4 meses
Puntos: 401
Respuesta: Realizar un Backup VPS Centos

Si es posible... echa un vistazo a este script:
Que hace el script:

Crea una carpeta donde se guardará todo, y esta carpeta es la que luego se comprimirá.
Esta carpeta tendrá de nombre el año, mes y día presente, por ejemplo hoy esa carpeta se llamaría: 2015-09-06
Copia /etc/ (y todo su contenido) a esa carpeta.
Copia logs (/var/log/) hacia esa carpeta antes mencionada.
Exporta las bases de datos de MySQL que tengamos.
Comprime con un password (PASSWORD) esa carpeta, la comprime en .RAR.
Genera un archivo (data.info) con todo el log de lo antes hecho (log de copia de archvios y compresión a .rar), además de poner en este archivo el tamaño (en MBs) del archivo .RAR.
Borra la carpeta en la que pusimos los archivos y que luego comprimimos.
Envía emails a los administradores o personas relacionadas con el servidor, informando que el backup se hizo de forma correcta, y se les enviará adjunto en ese email el archivo con el log de todo (data.info.rar

Código BASH:
Ver original
  1. #!/bin/sh
  2. #
  3. # -*- ENCODING: UTF-8 -*-
  4. #
  5.  
  6. NAME="VPS_Backup-Script"                # Nombre script.
  7. #Descripción:            Script de backup de files y DBs del VPS
  8. : ${VERSION:=0.1}                     # Versión script.
  9. : ${DATE:=$(date +'%Y-%m-%d')}    # Variable para Fecha.
  10. : ${TIME:=$(date +'%R')}                # Variable para Hora.
  11. : ${WORK_DIR:=/home/backups/$DATE}            # Directorio de trabajo actual.
  12. : ${LOG_FILE:=/home/backups/$DATE/record.log}   # Archivo de log.
  13. : ${ADMIN1a:[email protected]}              # Email de Administrador No.1
  14. : ${ADMIN1b:[email protected]}              # Email de Administrador No.1
  15. : ${ADMIN2a:[email protected]}      # Email de Administrador No.2
  16. : ${ADMIN2b:[email protected]}        # Email de Administrador No.2
  17. : ${LINE:="-"}
  18. : ${DB_PASS:=dbpasswordyeah}        # Password de MySQL.
  19.  
  20. # Creando directorio donde se trabajará, si es que no existe.
  21. if ! -d "`dirname $LOG_FILE`" ; then mkdir -p "`dirname $LOG_FILE`"; fi
  22.  
  23. # Cambiando a directorio donde trabajaremos.
  24. cd $WORK_DIR
  25.  
  26. # Copiando /ETC/ hacia directorio de trabajo actual.
  27. cp -Rv /etc/ $WORK_DIR > $LOG_FILE
  28. echo $LINE >> $LOG_FILE
  29.  
  30. # Creando carpeta para logs.
  31. mkdir $WORK_DIR/logs
  32.  
  33. # Copiando LOGs.
  34. cp /var/log/apache2/ $WORK_DIR/logs/ -Rv >> $LOG_FILE && echo $LINE >> $LOG_FILE
  35. cp /var/log/aptitud* $WORK_DIR/logs/ -v >> $LOG_FILE && echo $LINE >> $LOG_FILE
  36. cp /var/log/auth* $WORK_DIR/logs/ -v >> $LOG_FILE && echo $LINE >> $LOG_FILE
  37. cp /var/log/daemon* $WORK_DIR/logs/ -v >> $LOG_FILE && echo $LINE >> $LOG_FILE
  38. cp /var/log/dmes* $WORK_DIR/logs/ -v >> $LOG_FILE && echo $LINE >> $LOG_FILE
  39. cp /var/log/kern* $WORK_DIR/logs/ -v >> $LOG_FILE && echo $LINE >> $LOG_FILE
  40. cp /var/log/mail* $WORK_DIR/logs/ -v >> $LOG_FILE && echo $LINE >> $LOG_FILE
  41. cp /var/log/message* $WORK_DIR/logs/ -v >> $LOG_FILE && echo $LINE >> $LOG_FILE
  42. cp /var/log/mysql/ $WORK_DIR/logs/ -Rv >> $LOG_FILE && echo $LINE >> $LOG_FILE
  43. cp /var/log/mysql.* $WORK_DIR/logs/ -v >> $LOG_FILE && echo $LINE >> $LOG_FILE
  44. cp /var/log/sys* $WORK_DIR/logs/ -v >> $LOG_FILE && echo $LINE >> $LOG_FILE
  45.  
  46. # Creando carpeta para DBs.
  47. mkdir $WORK_DIR/dbs
  48.  
  49. # Exportando DBs.
  50. mysqldump --opt -hlocalhost -uroot -p"$DB_PASS" misitio > "$WORK_DIR/dbs/misitio.sql"
  51. mysqldump --opt -hlocalhost -uroot -p"$DB_PASS" mysql > "$WORK_DIR/dbs/mysql.sql"
  52. mysqldump --opt -hlocalhost -uroot -p"$DB_PASS" blogdb > "$WORK_DIR/dbs/blogdb.sql"
  53. mysqldump --opt -hlocalhost -uroot -p"$DB_PASS" pastebin > "$WORK_DIR/dbs/pastebin.sql"
  54.  
  55. # Saliendo un nivel más arriba (/home/backups/).
  56. cd ..
  57.  
  58. # Comprimiendo directorio de trabajo actual.
  59. #tar czvf "$DATE.tar.gz" "$DATE"
  60. rar a $DATE.rar -hpPASSWORD $WORK_DIR >> $LOG_FILE && echo $LINE >> $LOG_FILE
  61.  
  62. # Preparando información para enviar por email.
  63. touch data.info
  64. echo "El archivo $DATE.rar tiene un tamaño de:" > data.info
  65. du -bsh $DATE.rar >> data.info
  66. echo $LINE >> data.info
  67. cat $LOG_FILE >> data.info
  68. tar czvf data.info.tar.gz data.info
  69.  
  70. # Eliminando directorio una vez comprimido.
  71. rm -R "$WORK_DIR"
  72.  
  73. # Enviando emails a administradores.
  74. mail -s "VPS | Status de Backup." $ADMIN1a < data.info.tar.gz
  75. mail -s "VPS | Status de Backup." $ADMIN1b < data.info.tar.gz
  76. mail -s "VPS | Status de Backup." $ADMIN2a < data.info.tar.gz
  77. mail -s "VPS | Status de Backup." $ADMIN2b < data.info.tar.gz
  78.  
  79. # Haciendo copia por SSH hacia cuenta en otro servidor o hosting.
  80. #scp -P 922 "/home/backups/$DATE.rar" [email protected]:/home/backups/
  81.  
  82. echo "                  #######################"
  83. echo "                  ## BACKUP REALIZADO! ##"
  84. echo "                  #######################"
  85.  
  86. # Fin del script.
  87. exit 0
Dale permisos previamente:
Código BASH:
Ver original
  1. chmod +x vps_backup-script.sh
__________________
Los usuarios que te responden, lo hacen altruistamente y sin ánimo de lucro con el único fin de ayudarte. Se paciente y agradecido.
-SOLOLINUX-
  #3 (permalink)  
Antiguo 07/09/2015, 06:50
Avatar de luzzifer  
Fecha de Ingreso: julio-2009
Ubicación: Paraná - Argentina
Mensajes: 169
Antigüedad: 15 años, 4 meses
Puntos: 3
Respuesta: Realizar un Backup VPS Centos

Hola Lauser, desde ya muchas gracias por responder, aprecio mucho la información brindada, quisiera saber si lo has probado, y que requisitos básicos de hardware necesito para ejecutar el script, ya que cuento con 1gb de ram y 1 nucleo alcanza?
  #4 (permalink)  
Antiguo 07/09/2015, 10:33
Avatar de TIExpert  
Fecha de Ingreso: mayo-2015
Ubicación: Venezuela
Mensajes: 167
Antigüedad: 9 años, 6 meses
Puntos: 17
Respuesta: Realizar un Backup VPS Centos

Hola.

Dices que te permiten crear un snapshot, pero luego no te permiten descargar ese snapshot?
__________________
Mas de 20 años de experiencia en soporte de plataforma TI para empresas.
  #5 (permalink)  
Antiguo 07/09/2015, 11:11
Avatar de lauser
Moderator Unix/Linux
 
Fecha de Ingreso: julio-2013
Ubicación: Odessa (Ukrania)
Mensajes: 3.278
Antigüedad: 11 años, 4 meses
Puntos: 401
Respuesta: Realizar un Backup VPS Centos

Cita:
Iniciado por luzzifer Ver Mensaje
Hola Lauser, desde ya muchas gracias por responder, aprecio mucho la información brindada, quisiera saber si lo has probado, y que requisitos básicos de hardware necesito para ejecutar el script, ya que cuento con 1gb de ram y 1 nucleo alcanza?
Hola luzzifer.
Si que lo he usado.
Evidentemente cuanto mas potente mejor, pero aun así no deberías tener el menor problema en realizarlo. Eso si.... no esperes gran rendimiento de las paginas alojadas durante el proceso.

Cita:
Dices que te permiten crear un snapshot, pero luego no te permiten descargar ese snapshot?
Si.... es posible que exista un superadmin que sea el unico con derechos de copiado y borrado.
__________________
Los usuarios que te responden, lo hacen altruistamente y sin ánimo de lucro con el único fin de ayudarte. Se paciente y agradecido.
-SOLOLINUX-
  #6 (permalink)  
Antiguo 07/09/2015, 19:16
Avatar de luzzifer  
Fecha de Ingreso: julio-2009
Ubicación: Paraná - Argentina
Mensajes: 169
Antigüedad: 15 años, 4 meses
Puntos: 3
Respuesta: Realizar un Backup VPS Centos

Hola TIExpert si permiten crearme un snapshot pero no descargarlo queda en algun lugar on como para usarlo luego de alguna catastrofe.
Hola lauser, muchas gracias por responder, espero no tener problemas en usarlo lo voy a probar.

Cierro el tema cuando pruebe si me funciono.

Etiquetas: backup, centos, vps
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:15.