SCP NO CRONTAB

1. SCP NO CRONTAB

Fabio Nocera
fabionocera

(usa Fedora)

Enviado em 19/01/2010 - 17:14h

Boa tarde amigos do VOL,

Preciso de uma ajuda eu criei um scrip que roda em um servidor no Rio de janeiro, ele zipa a base de dados e envia por scp para a matriz em são paulo.
Eu rodo o script na mão belezinha mas quando agendo no crontab ele só efetua a parte de zipar a base de dados ja o scp ele não executa e tambem não mostra nenhum erro.

Lembrando que utilizo o sshpass para não pedir senha em scp e ssh passando no proprio comando.

vou colocar como esta o arquivo tem a tarefa de zipar a base antes que eu não coloquei aqui no arquivo.

#!/bin/bash

DATA=`date +%d%m%Y`

sshpass -p senha scp -P porta /caminho/base$04/10/2005.tar usuario@servidor:/caminho/

Se eu rodo por exemplo sh scp.sh ele faz todas tarefas e efetua o scp sem pedir senha nem nada e eu ja comferi os arquivos vão certinhos para suas determinadas pastas.

no crontab eu por exemplo agendo assim:

30 17 * * * root sh /caminho/scp.sh

ai ele executa só a parte de zipar a base ja o scp ele não roda, gostaria de saber se ha alguma dica lembrando que utilizo o fedora 11.

Grato,

Fabio Nocera




  


2. Re: SCP NO CRONTAB

nelio
neliobjr

(usa Red Hat)

Enviado em 19/01/2010 - 17:41h

Boa tarde, permita-me melhorar sua rotina.

Seguinte, quanto comecei tb utilizava, o sshpass, porem depois de um tempo vi problemas com este processo por ter que colocar a senha no script.

Resolução: ssh-keygen, siga esta dica do Fabio:

http://www.vivaolinux.com.br/dica/Configurando-seu-SSH-para-autenticacao-automatica/

Segundo ponto copia via ssh, eu tb já fiz muito isso, mas é lento configure um ftp de sua preferencia e utilize no script algo semelhante a isto:

ftp -vin <<EOF
open 192.168.0.1 #ip do seu seridor
user usuario senha123 #usuario e senha do servidor ftp
lcd /u01/backup/ #pasta local na maquina de origem obs para o L em lcd
cd backup_metrus # pasta destino no ftp
mput bk_dp_metrus_$data.tar.gz #carrega arquivo no ftp
quit
EOF

com certeza a primeira parte vai te ajudar, vc verá que é simples, e ficara muito pratico depois de configurado.

Se surgir duvidas na configuração, da um grito ai..

Att
Nélio
Dba Oracle.



3. Re: SCP NO CRONTAB

paulo
psdrop

(usa CentOS)

Enviado em 19/01/2010 - 17:46h

tenta alterar de;

30 17 * * * root sh /caminho/scp.sh

tenta alterar para;

30 17 * * * root /bin/sh /caminho/scp.sh

Abs,


4. Ola Amigos

Fabio Nocera
fabionocera

(usa Fedora)

Enviado em 21/01/2010 - 17:24h

Boa tarde,

Nenhuma das opções acima funcionou, eu ja tentei copiar a chave publica e mesmo assim pede senha para ssh e scp, ja com o sshpass ele não pede, mas o problema ainda continua o crontab continua não executando a parte aonde tem o scp no script .sh, e tb não apresenta nenhum erro.

Obrigado,

Fabio


5. Re: SCP NO CRONTAB

nelio
neliobjr

(usa Red Hat)

Enviado em 21/01/2010 - 17:51h

Cara então, joga a saida de erro para um arquivo de log, para conseguir ver o que esta dando de errado. Se é que vai mostrar alguma coisa

Vc conseguiu configurar o ssh para funcionar sem senha?caminho/base$04/10/2005.tar

Véio eu estava vendo o script direito agora e não entendi isso:

caminho/base$04/10/2005.tar

deveria ser: caminho/base$DATA.tar

posta o script para nos analisarmos melhor.




6. Ola

Fabio Nocera
fabionocera

(usa Fedora)

Enviado em 22/01/2010 - 08:50h

Bom dia colega,

Ele não me mostra erro algum no log.

Ele faz ssh e scp sem senha somente utilizando sshpass -p "senha".

Não sei pq esta daquele jeito mas eu coloquei no script do jeito que vc escreveu ai.

/caminho/base$04/10/2005.tar ..... ele esta correto pq conforme eu disse la em cima, se eu executo o .sh na mão por ex. sh /caminho/copiabase.sh ele funciona perfeitamente todas tarefas, tanto a de backup com compactação do arquivo, em segundo a de scp enviando para outra maquina, e em terceiro ela remove oa backup que forem maiores que 15 dias.
Quando executado pelo crontab ele só executa a primeira tarefa de compactação do arquivo, e não executa o scp.

Grato,

Fabio


7. Re: SCP NO CRONTAB

nelio
neliobjr

(usa Red Hat)

Enviado em 22/01/2010 - 09:50h

Então não funcionou o ssh sem senha?

Bem vamos lá, acho que desconfio o que esta acontecendo...

Tenta fazer o seguinte, se você não souber onde esta instalado o sshpass, da um find e localize-o.

e adicione no seu script um export PATH. semelhante a isso:

#!/bin/bash

export PATH=/caminho/bin/ssh-pass

DATA=`date +%d%m%Y`

sshpass -p senha scp -P porta /caminho/base$04/10/2005.tar usuario@servidor:/caminho/



E veja se faz....
att.
Nélio


8. Oi

Fabio Nocera
fabionocera

(usa Fedora)

Enviado em 22/01/2010 - 11:14h

Então meu caro, ele funciona o ssh sem senha sim mas somente executando o comando .sh na mão, ja no crontab ele não executa.

Vou tentar colocar este path que vc disse no crontab e depois posto o resultado.

Grato,

Fabio


9. Boa tarde !!

Fabio Nocera
fabionocera

(usa Fedora)

Enviado em 22/01/2010 - 16:41h

Ola colega mesmo assim não deu certo, continua a mesma coisa se eu rodo na mão ele faz o processo todo sem o pedido de senha, mas no crontab ele nao executa.

olha como esta o arquivo crontab que estou montando:

SHEL=/bin/bash
PATH=/sbin:/bin:/usr/bin:/usr/bin
#### LINHA QUE EU ACRESCENTEI ##
export PATH=/usr/local/bin/sshpass
MAILTO=root
HOME=/

20 16 * * * root sh /etc/squid/script/copia.sh

e este por exemplo é o copia.sh

#!/bin/bash

DATA=`date +%d%m%Y`

sshpass -p "senha" scp -P "porta" /caminho/base$04/10/2005.tar user@0.0.0.0:/caminho/

Descuple o incomodo.

Grato,

Fabio Nocera

Tenha um otimo feriado !!!


10. Re: SCP NO CRONTAB

Rodrigo Aurélio
McLovim

(usa Ubuntu)

Enviado em 22/07/2011 - 14:05h

Fábio, estou com o mesmo problema em um script. Voce conseguiu resolver de alguma forma?

Ouvi falar que não funciona dessa forma nas versões mais novas do ssh. Mas, ainda não consegui confirmar essa informação.








Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts