martes, 12 de abril de 2011

Respaldos automatizados con crontab

Pueden combinarse cond y wget, scp o tar  para hacer respaldos locales o remotos automatizados, para esto se necesita primeramente conocer la sintaxis de las entradas de crontab y los parámetros del comando date para generar la cadena nombre del directorio a partir de la fecha y hora del sistema.

Aqui hay una explicación del formato de las entradas de crontab
http://www.cyberciti.biz/faq/how-do-i-add-jobs-to-cron-under-linux-or-unix-oses/

puedes editar tu crontab con el comando crontab -e y eso te abre la tabla de cron en vi

para el asunto de los directorios ocupas la salida de date...
aqui hay un ejemplo de esto...

http://www.openecuador.org/modules/news/article.php?storyid=36

Ahora un ejemplo...

# Script para respaldos
# modificado del de: (angel_ous@hotmail.com )
# para que funcione primero deberias de crear el
# directorio respaldos
# con un mkdir /respaldos

NAME="respaldo"

#directorio donde voy a guardar
DIR=$NAME$(date +%d%m%y-%H:%M:%S)

# ruta de los respaldos 
PATH_FILE="/respaldos"

cd $PATH_FILE
mkdir $DIR
cd $DIR

# aqui va el comando de respaldo, esta es una prueba
wget ftp://FTP.INTERNIC.NET/domain/named.cache

grabalo en un archivo  de texto, por ejemplo con el nombre respalda en tu directorio bin  (/root/bin/respalda) le das un

chmod 700 respalda

(para que tu lo puedas leer, escribir y ejecutar y el resto del mundo no le pueda hacer nada)

crea la ruta /respaldos con un

mkdir /respaldos

o en otra ruta como /var/respaldos, (nomás hazle el cambio a la variable PATH_FILE)

ahora cuando ejecutes respalda se va a bajar el archivo named.cache al directorio con la fecha y hora bajo respaldos, p

cambia el sitio ftp al que se le hace wget en el script por el tuyo....

Ahora para que corra automaticamente, haces un

crontab -e

y agregas una linea como la siguiente:

0 12 * * * /root/bin/respalda

esto lo correría a las 12:00 todos los dias, si quieres cambiar la hora o la periodicidad checa el enlace sobre las etradas de crontab,  con esto debe ser suficiente.

Una última cosa, para que esto funcione debes de asegurarte de que el servicio crond se este ejecutando en tu computadora (esto ocurre por omisión en la mayoría de los hijos de UNIX)

No hay comentarios:

Publicar un comentario