Script usando scp não roda no cron [RESOLVIDO]

1. Script usando scp não roda no cron [RESOLVIDO]

Rodrigo Bela
rodrigobela

(usa Ubuntu)

Enviado em 16/09/2008 - 17:09h

Olá Pessoal,

Bem, tenho duvidas se aqui é a melhor comunidade para colocar esse problema, mas vamos lá.
Com a ajuda de vários tutorias e fóruns, montei um script de backup que funciona belezinha.
O script é o seguinte:

#!/bin/bash
#Script criado por : Rodrigo Bela
#Sao Carlos, SP, Brasil.
#2008-08-01
export PATH=/usr/local/bin:/usr/bin:/bin:/usr/games

#variavel data
data=`date +%Y%m%d`

#criando a pasta
mkdir /home/usuario/backup/backup_$data

#fazendo o dump do mysql completo
mysqldump --user=xxxxx --password=xxxxxx --database banco > /home/usuario/backup/backup_$data/dumpCompleto$data

#COmpactar a pasta
tar -czvf /home/usuario/backup/backup_$data.tgz /home/usuario/backup/backup_$data

#envir e-mail
#cat /home/usuario/backup/texto.txt | mutt -s "Bkp $data" -a /home/usuario/backup/backup_$data.tgz usuariobackup@gmail.com

#envia via scp para o computador de desenvolvimento
USUARIO=usuario
HOST=a.x.y.z
/usr/bin/scp backup_$data.tgz $USUARIO@$HOST:/home/usuario/backupproducao

echo backup_$data.tgz foi copiado

#removendo diretorio
rm /home/usuario/backup/backup_$data -R

echo backup realizado com sucesso


O script ta funcionando bonitinho.
Como vocês podem ver eu uso scp para fazer transferência. Peguei esse tutorial http://www.spaceprogram.com/knowledge/cron_scp.html para faze-lo funcionar.

O problema está ao tentar fazer esse script funcionar no cron.
Coloquei a seguinte linha no cron do meu usuário usuario:
25 4 * * * /home/usuario/backup/exec_backup.sh 


Noto o seguinte: o script inicia, gera o arquivo de backup e chega a se conectar com o servidor de destino... mas ele não envia o arquivo.
Como sei disso?
Bem, primeiro pq o arquivo de backup fica gerado na máquina de origem e segundo pq olhando para os logs de autenticação no servidor de destino encontrei o seguinte:

Sep 16 16:25:40 server-desenvolvimento sshd[9867]: Accepted publickey for usuario from a.b.c.d port 43807 ssh2
Sep 16 16:25:40 server-desenvolvimento sshd[9869]: pam_unix(ssh:session): session opened for user usuario by (uid=0)
Sep 16 16:25:40 server-desenvolvimento sshd[9869]: pam_unix(ssh:session): session closed for user usuario
Sep 16 16:27:57 server-desenvolvimento sshd[9873]: Accepted publickey for usuario from a.b.c.d port 43808 ssh2
Sep 16 16:27:57 server-desenvolvimento sshd[9875]: pam_unix(ssh:session): session opened for user usuario by (uid=0)
Sep 16 16:27:57 server-desenvolvimento sshd[9875]: pam_unix(ssh:session): session closed for user usuario



Como vocês podem perceber, tenho duas tentativas de login aceitas. A primeira diz respeito da tentativa realizada pelo script rodado pelo cron. A segunda pelo script rodado por mim mesmo no terminado do outro servidor.

Não consigo compreender qual o problema.
Apenas a cópia do arquivo não acontece.
Mas o script e todo o mais é idêntico.
Existe algum problema com o meu cron? ou eu fiz algo errado?

Aguardo valiosa colaboração de vocês.




  


2. Re: Script usando scp não roda no cron [RESOLVIDO]

Felipe Domingos
Felipe Domingos

(usa Slackware)

Enviado em 16/09/2008 - 17:26h

Opa,

você já tentou rodar o comando do scp manualmente? nesse servidor que não copia?
se já, foi tudo bem?

Normalmente os primeiros problemas com relação a cópia via scp com cron acontecem por causa da autenticação, então execute manualmente o comando e verifique se ele faz a cópia sem requerer senha.

T+


3. Re: Script usando scp não roda no cron [RESOLVIDO]

Rodrigo Bela
rodrigobela

(usa Ubuntu)

Enviado em 16/09/2008 - 17:51h

Olá Felipe,

Eu tentei sim, cara.
E agora que vi algo bobo: eu não estava colocando o path completo do arquivo que quero enviar.
Era esse o problema

Perdão pela bobeira.

Abraço






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts