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] ----------------------------------------------------------------