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