Scripts para copias de resguardo

Principales caracteríticas

Los scripts se han desarrollado con las siguientes características:

  • Empaquetado mediante Tar.
  • Compresión utilizando Bzip2.
  • Planificación diaria o semanal vía.
  • Posibilidad de respaldo de todo el sistema o parte de él.
  • Generación de sumas por MD5, SHA1 y SHA256.
  • Envío de mensajes vía syslog.
  • Respaldo en sistemas de archivo locales o servidores remotos.
  • Respaldo en cintas.

Accediendo al CVS vía web

Las últimas versiones de los scripts que se presentan a continuación pueden consultarse en línea y descargarse desde:

http://cvs.i-nis.com.ar/cgi-bin/cvsweb_es.cgi/gnu+linux/servidores/backup/etc

Instalación utilizando el portage

Los ebuilds para instalar por medio del portage se encuentran en la siguiente URL:

http://cvs.i-nis.com.ar/cgi-bin/cvsweb_es.cgi/gnu+linux/servidores/backup/usr/portage/app-backup/

Los mismos deben copiarse al directorio /usr/local/portage/app-backup (si este directorio no existe es necesario crearlo), respetando la gerarquía de directorios presentada en la URL anterior.

Instalación vía CVS

Los archivos pueden descargarse vía CVS e instalarse por medio de los siguientes comandos:

cvs -d :pserver:anonymous:anonymous@cvs.i-nis.com.ar:/home/cvs checkout -d daily \
gnu+linux/servidores/backup/etc/cron.daily

cp daily/backup_etc.cron daily/mysqldump.cron /etc/cron.daily

cvs -d :pserver:anonymous:anonymous@cvs.i-nis.com.ar:/home/cvs checkout -d weekly \
gnu+linux/servidores/backup/etc/cron.weekly

cp weekly/backup weekly/backup_home.cron  weekly/backup_raiz.cron  weekly/backup_usr.cron  \
weekly/backup_var.cron /etc/cron.weekly

cvs -d :pserver:anonymous:anonymous@cvs.i-nis.com.ar:/home/cvs checkout -d backup-cron \
gnu+linux/servidores/backup/etc/backup-cron

mkdir /etc/backup-cron

cp backup-cron/* /etc/backup-cron

cvs -d :pserver:anonymous:anonymous@cvs.i-nis.com.ar:/home/cvs checkout -d libexec \
gnu+linux/servidores/backup/usr/libexec/backup-cron

mkdir /usr/libexec/backup-cron

cp libexec/* /usr/libexec/backup-cron

Descripción detallada

A continuación se presenta una descripción detallada de cada script:

backup_etc.cron

Descripción

Se utiliza para hacer una copia de respaldo de toda la configuración del sistema alojada en el directorio /etc. La copia es ejecutada por el planificador de tareas vixie-cron y se realiza una vez cada día. El script esta ubicado en:

/etc/cron.daily/backup_etc.cron

Ruta de almacenamiento

Las copias de resguardo son alojadas en el directorio:

/home/admin/backup/$HOST/etc

Almacenamiento en un servidor remoto

Para almacenar las copias de resguardo en un servidor remoto es necesario configurar la dirección IP de este en el parámetro "REMOTE_IP" del archivo de configuración /etc/backup-cron/backup-cron.conf. Por defecto este parámetro no tiene ninguna dirección IP.

El parámetro "REMOTE_USER" indica con que usuario debe conectarse al servidor remoto. El valor predeterminado es "admin".

# Copiar archivos de respaldo a servidor remoto vía SCP
REMOTE_IP=""
REMOTE_USER="admin"

backup_home.cron

Descripción

Se utiliza para hacer una copia de respaldo de los directorios /home del sitema. La copia es ejecutada por el planificador de tareas vixie-cron y se realiza una vez cada 7 días. El script esta ubicado en:

/etc/cron.weekly/backup_home.cron

Ruta de almacenamiento

Las copias de resguardo son alojadas en el directorio:

/home/admin/backup/$HOST/home

Almacenamiento en un servidor remoto

Para almacenar las copias de resguardo en un servidor remoto es necesario configurar la dirección IP de este en el parámetro "REMOTE_IP" del archivo de configuración /etc/backup-cron/backup-cron.conf. Por defecto este parámetro no tiene ninguna dirección IP.

El parámetro "REMOTE_USER" indica con que usuario debe conectarse al servidor remoto. El valor predeterminado es "admin".

# Copiar archivos de respaldo a servidor remoto vía SCP
REMOTE_IP=""
REMOTE_USER="admin"

backup_raiz.cron

Descripción

Se utiliza para hacer una copia de respaldo de todos los archivos del sistema, exceptuando el contenido de los directorios /home, /usr y /var y aquellos listados en el archivo /etc/backup-cron/exclude.txt. La copia es ejecutada por el planificador de tareas vixie-cron y se realiza una vez cada 7 días. El script esta ubicado en:

/etc/cron.weekly/backup_raiz.cron

Ruta de almacenamiento

Las copias de resguardo son alojadas en el directorio:

/home/admin/backup/$HOST/system

Almacenamiento en un servidor remoto

Para almacenar las copias de resguardo en un servidor remoto es necesario configurar la dirección IP de este en el parámetro "REMOTE_IP" del archivo de configuración /etc/backup-cron/backup-cron.conf. Por defecto este parámetro no tiene ninguna dirección IP.

El parámetro "REMOTE_USER" indica con que usuario debe conectarse al servidor remoto. El valor predeterminado es "admin".

# Copiar archivos de respaldo a servidor remoto vía SCP
REMOTE_IP=""
REMOTE_USER="admin"

backup_usr.cron

Descripción

Se utiliza para hacer una copia de respaldo de todos los archivos ubicados en el directorio /usr, exceptuando aquellos listados en el archivo /etc/backup-cron/exclude.txt. La copia es ejecutada por el planificador de tareas vixie-cron y se realiza una vez cada 7 días. El script esta ubicado en:

/etc/cron.weekly/backup_usr.cron

Ruta de almacenamiento

Las copias de resguardo son alojadas en el directorio:

/home/admin/backup/$HOST/system

Almacenamiento en un servidor remoto

Para almacenar las copias de resguardo en un servidor remoto es necesario configurar la dirección IP de este en el parámetro "REMOTE_IP" del archivo de configuración /etc/backup-cron/backup-cron.conf. Por defecto este parámetro no tiene ninguna dirección IP.

El parámetro "REMOTE_USER" indica con que usuario debe conectarse al servidor remoto. El valor predeterminado es "admin".

# Copiar archivos de respaldo a servidor remoto vía SCP
REMOTE_IP=""
REMOTE_USER="admin"

backup_var.cron

Descripción

Se utiliza para hacer una copia de respaldo de todos los archivos ubicados en el directorio /var, exceptuando aquellos listados en el archivo /etc/backup-cron/exclude.txt. La copia es ejecutada por el planificador de tareas vixie-cron y se realiza una vez cada 7 días. El script esta ubicado en:

/etc/cron.weekly/backup_var.cron

Ruta de almacenamiento

Las copias de resguardo son alojadas en el directorio:

/home/admin/backup/$HOST/system

Almacenamiento en un servidor remoto

Para almacenar las copias de resguardo en un servidor remoto es necesario configurar la dirección IP de este en el parámetro "REMOTE_IP" del archivo de configuración /etc/backup-cron/backup-cron.conf. Por defecto este parámetro no tiene ninguna dirección IP.

El parámetro "REMOTE_USER" indica con que usuario debe conectarse al servidor remoto. El valor predeterminado es "admin".

# Copiar archivos de respaldo a servidor remoto vía SCP
REMOTE_IP=""
REMOTE_USER="admin"

backup_tape.cron

Descripción

Se utiliza para hacer una copia de respaldo en cinta de todos los archivos del sistema, exceptuando aquellos listados en el archivo /etc/backup-cron/exclude.txt. La copia es ejecutada por el planificador de tareas vixie-cron y se realiza una vez al día. El script esta ubicado en:

/etc/cron.daily/backup_tape.cron

Ruta de almacenamiento

Las copias de resguardo son alojadas en una cita DAT, cuyo dispositivo es:

/dev/st0

mysqldump.cron

Descripción

Se utiliza para hacer una copia de respaldo de todas las bases de datos MySQL del sistema. La copia es ejecutada por el planificador de tareas vixie-cron y se realiza a diario. El script esta ubicado en:

/etc/cron.daily/mysqldump.cron

Ruta de almacenamiento

Las copias de resguardo son alojadas en el directorio:

/home/admin/backup/$HOST/mysql

Usuario y contraseña del administrador de bases de datos

Para realizar el resguardo de las bases de datos MySQL del sistema es necesario proporcionar un usuario y una contraseña, los cuales se definen en el archivo de configuración /etc/backup-cron/backup-cron.conf mediante los parámetros "USER" y "PASSWD".

El parámetro "USER" define el usuario con el que se conectará al motor de bases de datos MySQL, por defecto está definido para "root"

El parámetro "PASSWD" define el la contraseña con la cual usuario se conectará al motor de bases de datos MySQL, por defecto tiene la palabra "yourpassword" que debería reemplazarse por una contraseña válida."

USER="root"
PASSWD="yourpassword"

Almacenamiento en un servidor remoto

Para almacenar las copias de resguardo en un servidor remoto es necesario configurar la dirección IP de este en el parámetro "REMOTE_IP" del archivo de configuración /etc/backup-cron/backup-cron.conf. Por defecto este parámetro no tiene ninguna dirección IP.

El parámetro "REMOTE_USER" indica con que usuario debe conectarse al servidor remoto. El valor predeterminado es "admin".

# Copiar archivos de respaldo a servidor remoto vía SCP
REMOTE_IP=""
REMOTE_USER="admin"