problema con scripts (bash+expect) en cron

Hugo Bravo R hbit64 en gmail.com
Sab Jul 7 21:13:53 CLT 2007


Estimados,

Situacion:
    Necesito respaldar una base mysql desde un servidor remoto, 
guardando una copia local y a la vez, subirla a un sercidor ftp.

Procedimiento:
    Hago un dump desde el equipo local y luego lo comprimo a tar.gz con 
un script en bash.
    Luego de esto, el mismo script llama a otro script con expect que 
sube el archivo al ftp.

    Cuando ejecuto el script por consola, ningun problema, funciona ok...
    El problema es cuando intento ponerlo en el cron.
    Cree 2 links simbolicos en /etc/cron.daily, que apuntan a cada 
archivo script.

    La maquina es un CentOS 4.5.

Archivos:

1.- script en bash
---------------------------------------------------------------------------
#!/bin/bash

fecha=$(date +%Y%m%d)-$(date +%H%M)

mysqldump -h 200.xx.xx.xx -u usuario -ppasswd --opt -f -v basex > 
tmpbk/basex.$fecha.sql

tar zcvf tmpbk/basex.$fecha.tar.gz tmpbk/basex.$fecha.sql

rm -f tmpbk/basex.*.sql

#Aqui llama al script que sube al ftp
./bk.ftp.asp.exp

rm -f tmpbk/basex.*
---------------------------------------------------------------------------

2.- script en expect
---------------------------------------------------------------------------
#!/usr/bin/expect
 
 set site "ftp.servidor.cl"
 set user "usuario en servidor.cl"
 set pass "passwd"
 set path "tmpbk/"
 set files "basex.*"
 
 spawn ftp $site
 expect "Name"
 
 send "$user\r"
 expect "Password:"
 
 send "$pass\r"
 expect "ftp>"
 
 send "prompt\r"
 expect "ftp>"
 
 send "bin\r"
 expect "ftp>"
 
 send "lcd $path\r"
 expect "ftp>"
 
 send "mput $files\r"
 expect -timeout -1 "ftp>"
 
 send "bye\r"
 expect eof
---------------------------------------------------------------------------

Espero me puedan ayudar...
Gracias de antemano.

Hugo








   



Más información sobre la lista de distribución Linux