sábado, 2 de abril de 2011

Respaldos servidores GNU/Linux

En este script de respaldo usaremos ssh para hacer un respaldo de un servidor web excluyendo la carpeta de secc/premios en /var/www.

Como debe ser todo automatizado necesitamos que nuestro equipo se conecte al servidor de respaldo (en este caso debe GNU/Linux tambien).

Primero vamos a utilizar el comando

SRV-WEB02:~# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
62:7c:0b:96:a6:03:fe:7f:c8:e4:1b:c8:25:47:f8:6a root@SRV-WEB02

Esto va a generar el archivo .ssh/id_rsa, este archivo lo debemos de copiar en el sistema remoto.

SRV-WEB02:~# ls .ssh/
id_rsa id_rsa.pub known_hosts

SRV-WEB02:~# scp .ssh/id_rsa soporte@192.168.0.200:.ssh/authorized_keys


Con esto ya tendremos la conexion lista para cuando requiera la conexion.


#!/bin/bash
#respal.sh
#nombre
fecha=`date +%Y%m%d`
#ruta local para generar el archivo de respaldo
ruta="/home/soporte"
cd $ruta
#compureba la existencia de algun respaldo anterior y lo elimina
if [ -f *.tar.gz ]; then
echo "ya existe un archivo"
rm *.tar.gz
fi
#Generamos el archivo tar.gz que incluye el respaldo
tar -czf wwwtel-$fecha.tar.gz /var/www /var/lib /etc --exclude secc/premios
&> /dev/null

#Copia el archivo al servidor remoto
scp wwwtel-$fecha.tar.gz soporte@192.168.0.200:/home/soporte/telcel
rm wwwtel-$fecha.tar.gz


Creo que solo faltaria agregar la rutina al crontab para que se ejecute a diario por ejemplo.

No hay comentarios: