On 7/27/07, Francisco José Bejarano <[EMAIL PROTECTED]> wrote:
> On 7/27/07, gbueno <[EMAIL PROTECTED]> wrote:
> > Buenas, soy muy nuevo en esto del linux pero si le agregas el -v al tar y te
> > fijas si acusa algun error ??
> >
> > /bin/tar -vcfj $dir_bck_local/db_basededatos_`date +%Y%m%d%H%M`.tar.bz2
> > $dir_bck_local/basededatos
> >
> >
> > Saludos y disculpas si estoy diciendo una burrada...
>
>
> Si, ya lo he puesto para ver y no me da error, de hecho, he ejecutado
> los comandos en el directorio, es decir, mysqlhotcopy y despues el tar
> con el directorio creado y funciona perfectamente. Es solo cuando cron
> lanza el script cuando falla el tar.
>
> He puesto la directiva MAILTO="micorreoelectronico" en el crontab para
> ver si me envia la salida de los comandos pero no me envia nada al
> correo.
>
>
> >
> >
> > -----Mensaje original-----
> > De: Francisco José Bejarano [mailto:[EMAIL PROTECTED]
> > Enviado el: Viernes, 27 de Julio de 2007 07:30
> > Para: Linux_Debian_Esp_usr
> > Asunto: Problema con cron y script
> >
> >
> > Hola
> >
> > Estoy usando cron para que ejecute unas tareas de copias de seguridad
> > y tengo un problema al ejecutar un script mediante el.
> >
> > El script hace una copia de seguridad de una base de datos de mysql y
> > despues la comprime y la copia a un servidor remoto.
> >
> > El caso es que cuando ejecuto el script como root desde la linea de
> > comandos, hace todo perfectamente. Genera la copia de seguridad de
> > mysql, la copia al directorio correspondiente, comprime los datos y
> > los copia al servidor remoto.
> >
> > El problema viene cuando se ejecuta con cron, hace todo pero al
> > comprimir no incluye ningún archivo, es decir, genera el tar.bz2
> > vacio, pero todo lo demas lo hace bien.
> >
> > ¿Alguien sabe que puede pasar? Os pongo:
> >
> > Tarea en /etc/crontab:
> > # Ejecutar el script de copia de seguridad de la base de datos mysql
> > 0 20            * * 1-5         root    time
> > /root/bck_web/scripts/db_backup.sh && echo -e "\n\nBCK_BBDD OK"
> >
> > Como veis es el usuario root el que lo ejecuta, así que debería funcionar.
> >
> > Os pongo el script
> >
> > ##########################################################################
> > #!/bin/bash
> > # Autor: Francisco J. Bejarano
> > # Fecha Mod: 26/07/2007
> > # Nombre: db_backup.sh
> > # Script de copia de seguridad de las bases de datos MySQL del servidor
> > # El directorio de las bases de datos MySQL en GNU/Linux basado en Debian
> > # es /var/lib/mysql/egroupware.
> >
> > dir_mnt="/mnt/samba/admin"      #Directorio de Montaje de la carpeta
> > del servidor samba
> > dir_bck_local="/root/bck_web"   #Directorio de copia de seguridad local
> > dir_bck="$dir_mnt/bck_web"      #Directorio remoto de copia de seguridad
> >
> > # Hacemos una copia de seguridad de la bbdd de mysql
> > mysqlhotcopy -u root -p password --allowold --keepold basededatos
> > $dir_bck_local
> >
> > # Creamos un tar.bz2 finalizado con la hora y fecha en formato ddmmyyyyHHMM
> > tar cfj $dir_bck_local/db_basededatos_`date +%Y%m%d%H%M`.tar.bz2
> > $dir_bck_local/basededatos
> >
> >
> > # Montamos la carpeta del servidor remoto samba en el directorio local.
> > mount $dir_mnt
> >
> > # Copiamos del directorio origen al directorio del bck
> > cp -R $dir_bck_local/db_basededatos_*.bz2 $dir_bck
> > ls -lah $dir_bck
> >
> > # Desmontamos la carpeta del servidor samba
> > umount $dir_mnt
> >
> > #Eliminamos los archivos comprimidos del directorio origen de copia de
> > seguridad
> > rm -R $dir_bck_local/db_basededatos_*
> >
> > #########################################################################
> >
> > Lo único que se me ocurre es que se necesite algún permiso para algún
> > usuario al ejecutarse con cron que no permita copiar o mejor dicho
> > comprimir el directorio basededatos creado con el comando
> > mysqlhotcopy. Este directorio se crea con usuario:grupo mysql y con
> > permisos 750 desde mysqlhotcopy.
> >
> > El script tiene permisos 755 para el usuario y grupo root.
> >
> > He probado a añadir la linea
> >
> > chmod -r 755 $dir_bck_local/basededatos
> >
> > antes de realizar la compresion pero nada. De todas formas, no debería
> > ser eso puesto que puedo ejecutarlo con ./db_backup.sh como root y
> > funciona todo...
> >
> > En fin nose, a ver si me decis algo.
> >
> > Gracias de antemano
> >
> > --
> > ---------------------------------------------------------------
> > Francisco J. Bejarano
> > [EMAIL PROTECTED]
> > ----------------------------------------------------------------
> >
> >
> > --
> > To UNSUBSCRIBE, email to [EMAIL PROTECTED]
> > with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]
> >
> >
>
>
> --
> ---------------------------------------------------------------
> Francisco J. Bejarano
> [EMAIL PROTECTED]
> ----------------------------------------------------------------
>


Bueno, al final era algo que se hacia mal en la tarea del cron. He
cambiado el comando de las tareas por otras mas simples y que
redireccionan a un fichero de log. Tambien he quitado la variable
MAILTO de cron pq no me enviaba el mail. No se, el caso es que
funciona

0 20    * * 1-5  root    /root/bck_web/scripts/db_backup.sh>>
/root/bck_web/logs/log.txt

en fin, un misterio para mi. Si alguien sabe algo...


-- 
---------------------------------------------------------------
Francisco J. Bejarano
[EMAIL PROTECTED]
----------------------------------------------------------------

Responder a