Contador de Visitas


Contador web
Ranking Página

GuLcPy

No te olvides de visitar la pagina de GULCPY http://www.gulcpy.org.py
Donde podras encontrar informaciones y tutoriales referentes a GNU/Linux y conocer el camino hacia la libertad!!!!




programar backup con rsync y cron de manera rápida y simple

Primeramente vamos a introducirnos a lo que es.. [b][color=red]rsync[/color][/b] es una aplicación libre para sistemas de tipo Unix y microsoft window$ que ofrece transmisión eficiente de datos incrementales, que opera también con datos comprimidos y cifrados. Mediante una técnica de delta encoding, permite sincronizar archivos y directorios entre dos máquinas de una red o entre dos ubicaciones en una misma máquina, minimizando el volumen de datos transferidos. Una característica importante de rsync no encontrada en la mayoría de programas o protocolos es que la copia toma lugar con sólo una transmisión en cada dirección. rsync puede copiar o mostrar directorios contenidos y copia de archivos, opcionalmente usando compresión y recursión. Actuando como un daemon de servidor, rsync escucha por defecto el puerto TCP 873, sirviendo archivos en el protocolo nativo rsync o via un terminal remoto como RSH o SSH. En el último caso, el ejecutable del cliente rsync debe ser instalado en el host local y remoto. rsync se distribuye bajo la licencia GNU General Public License. [b][color=blue]Cron[/color][/b] En el sistema operativo Unix, cron es un administrador regular de procesos en segundo plano (demonio) que ejecuta procesos o guiones a intervalos regulares (por ejemplo, cada minuto, día, semana o mes). Los procesos que deben ejecutarse y la hora en la que deben hacerlo se especifican en el fichero crontab. El nombre cron viene del griego chronos que significa "tiempo". Cron se podría definir como el "equivalente" a Tareas Programadas de window$. [color=red][b]Por que usar rsync[/b][/color] Simplemente por que es un Software especifico para la realización de copias, funciona de manera a acelerar las transferencias al copiar las diferencias entre 2 archivos, en ves de copiar el archivo entero todas las veces. Eso mismo. rsync consigue identificar que archivos fueron alterados y el administrador puede optar por copiar solamente los archivos nuevos o modificados no necesariamente todos los archivos, lo que tomaria el proceso de backup demorado de manera innecesaria. Ese recurso puede presentar una gran ventaja, principalmente para backups diários de grande cantidad de archivos. Otro gran beneficio es que rsync guarda las informaciones sobre permisos y propiedades de los archivos y directorios, inclusive de links simbólicos. [b][color=blue][size=18]Instalando el rsync[/size][/color][/b] El primer paso es instalar el rsync, si no lo tiene. Si utilizamos Debian, nos logueamos como root y escribimos: # apt-get install rsync Si utilizas ubunti escribe: $ sudo apt-get install rsync Solamente para confirmar si el rsync que instalamos está funcionando normalmente, escribimos en la linea de comando: $ rsync En el caso de que aparezcan informaciones de la ayuda del rsyn es por que fue instalado correctamente. [b][color=red][size=18]Configurando el archivo backup[/size][/color][/b] En el archivo de abajo será utilizado el siguiente parametro con el rsyn para que realize la copia: -Cravzp. De esta forma, el rsync está siendo accionado para: -C: auto-ignorar archivos identicos; -r: copiar de forma recursiva, osea todos los directorios y subdirectorios en el camino especificado; -a: indica que estaran siendo copiados archivos; -v: modo detallado, más información de copia; -z: comprime los archivos durante la copia; -p: indicador de progreso de copia. #!/bin/bash INICIO=`date +%d/%m/%Y-%H:%M:%S` LOG=/var/log/`date +%Y-%m-%d`_nombree-del-archivo-de-log.txt echo " " >> $LOG echo " " >> $LOG echo "|-----------------------------------------------" >> $LOG echo " Sincronización iniciada en $INICIO" >> $LOG sudo rsync -Cravzp /carpeta-de-origen/ /carpeta-de-destino/ >> $LOG FINAL=`date +%d/%m/%Y-%H%:M:%S` echo " Sincronización Finalizada en $FINAL" >> $LOG echo "|-----------------------------------------------" >> $LOG echo " " >> $LOG echo " " >> $LOG [b][color=blue][size=18]Explicando el archivo de backup[/size][/color][/b] En la primera linea hay un aviso del interpretador de comandos que debe ser utilizado el bash: #!/bin/bash Almacena el momento de inicio en la variable INICIO, en formato dd/mm/yyyy-hh:mm:ss: INICIO=`date +%d/%m/%Y-%H:%M:%S` Almacena en la variable LOG que archivo debe ser grabado en el registro de backup, en el formato yyyy-mm-dd_nombre-del-archivo.txt: LOG=/var/log/`date +%Y-%m-%d`_nombre-del-archivo-de-log.txt Manteniendo ese archivo, puede ser muy util para que pueda verificar los backups que han sido realizados correctamente. Crea el inicio del registro de log en el archivos, grabando una cabecera en el cual insterte el dia y hora de inicio del backup: echo " " >> $LOG echo " " >> $LOG echo "|--------------------------------------------" >> LOG echo " Sincronización iniciada en $INICIO" >> $LOG Esa es la linea que realiza el backup en realidad. Invoca al comando rsyn y invoca los parametros de cuales archivos copiar y para que destino. A cada archivo copiado, una linea será insertada en el archivo de log. De esta forma el administrador puede saber cuales de los archivos fueron copiados en el backup de un día determinado. sudo rsync -Cravzp /carpeta-de-origen/ /carpeta-de-destino/ >> $LOG Almaneza el momento de término del backup en la variable FINAL, en el formato: FINAL=`date +%d/%m/%Y-%H%:M:%S` Finaliza el archivo de backup con un pie en el cual inserta el día y la hora del termino del backup: echo " Sincronización Finalizada en $FINAL" >> $LOG echo "|--------------------------------------------" >> $LOG echo " " >> $LOG echo " " >> $LOG Observaciones: En caso de que desees modificar los parametros del rsync para la copia, consulta el manual de rsync con el comando rsync. Se sugiere crear una carpeta en /var/log con el nombre rsync y grabar todos los logs del rsync en esa carpeta. [b][color=blue][size=18]Programando cron para realizar el backup[/size][/color][/b] Cron es un servicio de Linux que es cargado durante el proceso de boot del sistema. Funciona como un programador de tareas que permite programar la ejecución de comandos y procesos de manera repetitiva para un trabajo en especifico. El daemon (una especie de programa que ejecuta tareas en segundo plano) cron ejecuta los comandos en los días y horarios especificados. A cada minuto el daemon verifica si hay alguna tarea a ser ejecutada. Todas las acciones del cron son realizads en base de registros en una especie de tabla conocida como crontab. Para los familiarizados con GNU/Linux, No hay secretos para la configuración del cron via linea de comando. Para los que poseen menos dominio de Linux sugiero que instalen el Webmin. Se trata de una herramienta de administración atraves de interfaz web que facilita mucho la vida del administrador. Para instalar el Webmin, puede descargar desde: [url]http://www.webmin.com/download.html[/url] A los usuarios de Debian y Ubuntu y otras distros derivados de debian pueden descargar el paquete .deb. Si utilizamos Debian escribimos como root: # dpkg -i webmin_version-del-webmin-copiado.deb Si utilizas ubuntu escribe: $ sudo dpkg -i webmin_version-del-webmin-copiado.deb En caso de que presente dependencias en otros paquetes, instalamos los paquetes que solicita. Ya con el Webmin instalado, accedemos en el navegador en la dirección https://192.168.1.11:10000 y escriba su usuario de sistema GNU/Linux. Dentro del Webmin, accedemos al menu Sistema > Tareas programadas (CRON). No elimine las tareas ya existentes! puede producir algunos daños al sistema. Accedemos en la opción "Crear nueva tarea programada". En la próxima Ventana, una propuesta de tarea sería: Ejecutar tarea programada como: root Activo: si Descripción: Ejecutar cuando: Horarios y días seleccionados abajo Minutos: Seleccionados 0 Hora: Seleccionados 17 Dias: Todos Meses: Todos Dias da semana: Todos Ejecutar en qualquer día: si Su backup programado esta listo! Verifique en el primer backup si los archivos fueron copiados correctamente para el destino y confirme el registro de log del archivo. Si todo esta ok, en los momentos indicados el backup programado ira funcionando automáticamente, sin intervención manual. Mais informaciones sobre el rsync en: [url]http://samba.anu.edu.au/rsync/[/url] sobre el Webmin en: [url]http://www.webmin.com/ [/url] Espero les sea de ayuda ;) Imprimir

0 comentarios:

Publicar un comentario