Diferencia entre revisiones de «Respaldo»

De CURE - Informática
Saltar a: navegación, buscar
m
 
(No se muestran 5 ediciones intermedias de 3 usuarios)
Línea 1: Línea 1:
Se creó un script con el fin de respaldar la información de que contienen los servidores (paloma y polonio).  
+
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.
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'''
 
'''Procedimiento'''
Línea 8: Línea 7:
 
#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.<br>En la primer línea generamos la clave y en la segunda la copiamos en el otro servidor<br><br>respaldo@paloma$ ssh-keygen -t rsa -C "respaldo"<br><br>ssh-copy-id respaldo@10.5.2.2<br><br>
 
#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.<br>En la primer línea generamos la clave y en la segunda la copiamos en el otro servidor<br><br>respaldo@paloma$ ssh-keygen -t rsa -C "respaldo"<br><br>ssh-copy-id respaldo@10.5.2.2<br><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:
 
#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
 
   #!/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
+
   mysqldump -uroot -p[password] --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
+
   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/
 
 
   #
 
   #
 +
  # Directorios y/o archivos que queremos respaldar.
 +
  backup_files="/home /var/www /etc/apache2 /etc/bind"
 
   #
 
   #
   #Generar un archivo tar con todos los directorios de respaldo generados anteriormente.
+
   # Directorio en el cual queremos gurdar nuestros respaldos.
   sudo tar -zcvf /respaldos/respaldo_arch_$(date +%d%m%y).tgz /respaldos/respaldo_apache2/ /respaldos/respaldo_bind/ /respaldos/respaldo_home/  /respaldos/respaldo_www/
+
   dest="/respaldos"
 
   #
 
   #
   #Borrar las carpetas.
+
   # creando un archivo tar para respaldar.
   sudo rm -r /respaldos/respaldo_www/ /respaldos/respaldo_apache2/ /respaldos/respaldo_bind/ /respaldos/respaldo_home/ /respaldos/respaldo_db.sql
+
   day=$(date +%d%m%y)
 +
  hostname=$(hostname -s)
 +
  #Este archivo llevara el nombre del equipo seguido de la fecha en la cual se  realiza el respaldo.
 +
  archive_file="$hostname-$day.tgz"
 
   #
 
   #
 +
  # Imprimir mensajes de estado
 +
  echo "Respaldando $backup_files a $dest/$archive_file"
 +
  date
 +
  echo
 
   #
 
   #
   #Buscar los archivos que tengan mas de 2 dias y eliminarlos.
+
   # Respaldando los archivos con tar
   sudo find -name ‘*.tgz’ -type f -mtime +2 -exec rm -f {} \;
+
   tar czf $dest/$archive_file $backup_files /respaldos/respaldo_db_*
 
   #
 
   #
   #
+
   # Mensajes de estado
   #Crear un tar con todos los respaldos del día para enviar a polonio
+
   echo
   sudo tar -zcvf /respaldos/paloma_$(date +%d%m%y).tgz /respaldos/respaldo_arch_* /respaldos/respaldo_db_*
+
   echo "Respaldo finalizado"
   #
+
   date
  #Copiar el respaldo al servidor polonio vía scp
 
  scp respaldo@localhost:/respaldos/paloma_* respaldo@10.5.2.2:/respaldos/paloma/
 
  
 
+
  5.Agregar una entrada en el fichero crontab para que el script se ejecute automáticamente en un horario en el que estimamos que la red no está siendo utilizada:
+
5.Agregar una entrada en el fichero crontab para que el script se ejecute automáticamente en un horario en el que estimamos que la red no está siendo utilizada. El usuario encargado de ejecutar el script es 'respaldo':
 
    
 
    
 
   #sudo crontab -e
 
   #sudo crontab -e
Línea 50: Línea 49:
 
   15 2 * * * /home/aline/respaldo.sh respaldo
 
   15 2 * * * /home/aline/respaldo.sh respaldo
  
El usuario encargado de ejecutar el script es 'respaldo'.
+
[[Category:Descontinuadas]]

Revisión actual del 13:15 14 ene 2022

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.

Procedimiento

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

    adduser respaldo admin

  2. 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: ALL

  3. 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

  4. 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.
 mysqldump -uroot -p[password] --all-databases > /respaldos/respaldo_db.sql
 #
 #Generar un archovo tar del archivo respaldo_db.sql.
 tar -zcvf /respaldos/respaldo_db_$(date +%d%m%y).tgz /respaldos/*.sql
 #
 #
 # Directorios y/o archivos que queremos respaldar. 
 backup_files="/home /var/www /etc/apache2 /etc/bind"
 #
 # Directorio en el cual queremos gurdar nuestros respaldos.
 dest="/respaldos"
 #
 # creando un archivo tar para respaldar.
 day=$(date +%d%m%y)
 hostname=$(hostname -s)
 #Este archivo llevara el nombre del equipo seguido de la fecha en la cual se   realiza el respaldo.
 archive_file="$hostname-$day.tgz"
 #
 # Imprimir mensajes de estado
 echo "Respaldando $backup_files a $dest/$archive_file"
 date
 echo
 #
 # Respaldando los archivos con tar
 tar czf $dest/$archive_file $backup_files /respaldos/respaldo_db_*
 #
 # Mensajes de estado
 echo
 echo "Respaldo finalizado"
 date


5.Agregar una entrada en el fichero crontab para que el script se ejecute automáticamente en un horario en el que estimamos que la red no está siendo utilizada. El usuario encargado de ejecutar el script es 'respaldo':

 #sudo crontab -e
 # m h  dom mon dow   command
 15 2 * * * /home/aline/respaldo.sh respaldo