Diferencia entre revisiones de «Respaldo»

De CURE - Informática
Ir a la navegación Ir a la búsqueda
Línea 12: Línea 12:
 
#Crear el script, este está ubicado en /home/respaldo, y fue nombrado respaldo.sh, tanto el de paloma como el de polonio son esencialmente lo mismo, varían dependiendo de las necesidades de cada servidor que cosas respaldar, a continuación se muestra el script creado para el servidor paloma, es igual al de polonio pero agregando respaldo a las base de datos:<br>
 
#Crear el script, este está ubicado en /home/respaldo, y fue nombrado respaldo.sh, tanto el de paloma como el de polonio son esencialmente lo mismo, varían dependiendo de las necesidades de cada servidor que cosas respaldar, a continuación se muestra el script creado para el servidor paloma, es igual al de polonio pero agregando respaldo a las base de datos:<br>
 
   #!/bin/sh
 
   #!/bin/sh
 
+
  #
 
   #Realizar backup de mysql como usuario root, a todas la bases de datos existentes, y guardar la salida en el archivo /respaldos/respaldo_db.sql.     
 
   #Realizar backup de mysql como usuario root, a todas la bases de datos existentes, y guardar la salida en el archivo /respaldos/respaldo_db.sql.     
 
   sudo mysqldump -uroot -pRuvdansh7jun --all-databases > /respaldos/respaldo_db.sql
 
   sudo mysqldump -uroot -pRuvdansh7jun --all-databases > /respaldos/respaldo_db.sql
 
+
  #
 
   #Generar un archovo tar del archivo respaldo_db.sql.  
 
   #Generar un archovo tar del archivo respaldo_db.sql.  
 
   sudo tar -zcvf /respaldos/respaldo_db_$(date +%d%m%y).tgz /respaldos/*.sql
 
   sudo tar -zcvf /respaldos/respaldo_db_$(date +%d%m%y).tgz /respaldos/*.sql
 
+
  #
 
   #Respaldar el directorio /etc/apache2
 
   #Respaldar el directorio /etc/apache2
 
   sudo cp -r /etc/apache2/ /respaldos/respaldo_apache2/
 
   sudo cp -r /etc/apache2/ /respaldos/respaldo_apache2/
Línea 27: Línea 27:
 
   #Respaldar el directorio /var/www
 
   #Respaldar el directorio /var/www
 
   sudo cp -r /var/www/ /respaldos/respaldo_www/  
 
   sudo cp -r /var/www/ /respaldos/respaldo_www/  
 
+
  #
 
+
  #
 
   #Generar un archivo tar con todos los directorios de respaldo generados anteriormente.
 
   #Generar un archivo tar con todos los directorios de respaldo generados anteriormente.
 
   sudo tar -zcvf /respaldos/respaldo_arch_$(date +%d%m%y).tgz /respaldos/respaldo_apache2/ /respaldos/respaldo_bind/ /respaldos/respaldo_home/  /respaldos/respaldo_www/
 
   sudo tar -zcvf /respaldos/respaldo_arch_$(date +%d%m%y).tgz /respaldos/respaldo_apache2/ /respaldos/respaldo_bind/ /respaldos/respaldo_home/  /respaldos/respaldo_www/
 
+
  #
 
   #Borrar las carpetas.
 
   #Borrar las carpetas.
 
   sudo rm -r /respaldos/respaldo_www/ /respaldos/respaldo_apache2/ /respaldos/respaldo_bind/ /respaldos/respaldo_home/ /respaldos/respaldo_db.sql
 
   sudo rm -r /respaldos/respaldo_www/ /respaldos/respaldo_apache2/ /respaldos/respaldo_bind/ /respaldos/respaldo_home/ /respaldos/respaldo_db.sql
 
+
  #
 
+
  #
 
   #Buscar los archivos que tengan mas de 2 dias y eliminarlos.
 
   #Buscar los archivos que tengan mas de 2 dias y eliminarlos.
 
   sudo find -name ‘*.tgz’ -type f -mtime +2 -exec rm -f {} \;
 
   sudo find -name ‘*.tgz’ -type f -mtime +2 -exec rm -f {} \;
 
+
  #
 
+
  #
 
   #Crear un tar con todos los respaldos del día para enviar a polonio
 
   #Crear un tar con todos los respaldos del día para enviar a polonio
 
   sudo tar -zcvf /respaldos/paloma_$(date +%d%m%y).tgz /respaldos/respaldo_arch_* /respaldos/respaldo_db_*
 
   sudo tar -zcvf /respaldos/paloma_$(date +%d%m%y).tgz /respaldos/respaldo_arch_* /respaldos/respaldo_db_*
 
+
  #
 
   #Copiar el respaldo al servidor polonio vía scp
 
   #Copiar el respaldo al servidor polonio vía scp
 
   scp respaldo@localhost:/respaldos/paloma_* respaldo@10.5.2.2:/respaldos/paloma/
 
   scp respaldo@localhost:/respaldos/paloma_* respaldo@10.5.2.2:/respaldos/paloma/

Revisión del 19:04 17 jun 2011

Se creó un script con el fin de respaldar la información de que contienen los servidores (paloma y polonio). Cada servidor guardará un respaldo de si mismo y una copia del respaldo del otro servidor, obteniendo así más seguridad en caso de fallas en el sistema.

Procedimiento'

  1. Creación de usuario 'respaldo' para realizar los backups y agregado del mismo al grupo admin:

    adduser respaldo admin

  1. Agregar la siguiente línea al archivo /etc/sudoers para permitir al usuario 'respaldo' que utilize sudo sin ingresar contraseña, ya que el script se va a ejecutar automáticamente y varios de los comandos que lo componen necesitan que le usuario tenga privilegios de administrador:

    respaldo ALL=NOPASSWD: AL

  1. Generar una clave pública para el usuario respaldo y copiarla en el otro servidor para que el usuario respaldo pueda hacer scp de un servidor al otro para copiar sus archivos de respaldo.
    En la primer línea generamos la clave y en la segunda la copiamos en el otro servidor

    respaldo@paloma$ ssh-keygen -t rsa -C "respaldo"

    ssh-copy-id respaldo@10.5.2.2

  1. Crear el script, este está ubicado en /home/respaldo, y fue nombrado respaldo.sh, tanto el de paloma como el de polonio son esencialmente lo mismo, varían dependiendo de las necesidades de cada servidor que cosas respaldar, a continuación se muestra el script creado para el servidor paloma, es igual al de polonio pero agregando respaldo a las base de datos:
 #!/bin/sh
 #
 #Realizar backup de mysql como usuario root, a todas la bases de datos existentes, y guardar la salida en el archivo /respaldos/respaldo_db.sql.     
 sudo mysqldump -uroot -pRuvdansh7jun --all-databases > /respaldos/respaldo_db.sql
 #
 #Generar un archovo tar del archivo respaldo_db.sql. 
 sudo tar -zcvf /respaldos/respaldo_db_$(date +%d%m%y).tgz /respaldos/*.sql
 #
 #Respaldar el directorio /etc/apache2
 sudo cp -r /etc/apache2/ /respaldos/respaldo_apache2/
 #Respaldar el directorio /etc/bind
 sudo cp -r /etc/bind/ /respaldos/respaldo_bind/
 #Respaldar el directorio /home
 sudo cp -r /home/ /respaldos/respaldo_home/
 #Respaldar el directorio /var/www
 sudo cp -r /var/www/ /respaldos/respaldo_www/ 
 #
 #
 #Generar un archivo tar con todos los directorios de respaldo generados anteriormente.
 sudo tar -zcvf /respaldos/respaldo_arch_$(date +%d%m%y).tgz /respaldos/respaldo_apache2/ /respaldos/respaldo_bind/ /respaldos/respaldo_home/  /respaldos/respaldo_www/
 #
 #Borrar las carpetas.
 sudo rm -r /respaldos/respaldo_www/ /respaldos/respaldo_apache2/ /respaldos/respaldo_bind/ /respaldos/respaldo_home/ /respaldos/respaldo_db.sql
 #
 #
 #Buscar los archivos que tengan mas de 2 dias y eliminarlos.
 sudo find -name ‘*.tgz’ -type f -mtime +2 -exec rm -f {} \;
 #
 #
 #Crear un tar con todos los respaldos del día para enviar a polonio
 sudo tar -zcvf /respaldos/paloma_$(date +%d%m%y).tgz /respaldos/respaldo_arch_* /respaldos/respaldo_db_*
 #
 #Copiar el respaldo al servidor polonio vía scp
 scp respaldo@localhost:/respaldos/paloma_* respaldo@10.5.2.2:/respaldos/paloma/