Comando SCP travando no meio do script!

1. Comando SCP travando no meio do script!

William Vieira Gomes
fenrirlobo

(usa CentOS)

Enviado em 29/03/2014 - 16:51h

Olá a todos.
Trabalho em um callcenter e entendo pouquíssimo de Linux.
Minha necessidade é de copiar arquivos de um "diretório-origem" para um "diretório-destino", filtrando pelo tempo em que foi modificado tal arquivo (critério esse no momento estabelecido para 10). Em seguida enviar esses arquivos para um servidor FTP. E por último excluir esses arquivos do "diretório-destino".

Eu consegui realizar isso usando 3 scripts diferente:

Script Nº1 (Copiar os arquivos desejados):

#!/bin/bash
for h in $(diretório-origem -name OUT-7104-3348*.* -ctime -10); do cp -p "$h" diretório-destino; done
for i in $(diretório-origem -name OUT-7104-3345*.* -ctime -10); do cp -p "$i" diretório-destino; done
echo "Arquivos copiados para com sucesso"


Script Nº2 (Enviar os arquivos para o FTP):

#!/bin/bash
scp -p OUT-7104*.* root@xxx.xxx.xxx.xxx:~/gravacao

OBS: Após executar este script, é requisitado uma senha, e após a inserção da mesma o restante do processo flui normalmente.

Script Nº3 (Apagar os tais arquivos do diretório-destino):

#!/bin/bash
rm -rf diretório-destino/*.WAV
echo "Arquivos apagados com sucesso!"


Tudo flui numa boa. Vcs devem estar se perguntando pq eu não coloco todas essas linhas em um mesmo script. E esta é a minha dificuldade:

Ao juntar tudo isso, o comando "SCP" parece não funcionar, pois cursor fica lá parado como se estivesse executando algo, mas a requisição de senha não chega nunca.

Alguém saberia me explicar o porquê disso ???


Segue o script unificado:

#!/bin/bash
for h in $(diretório-origem -name OUT-7104-3348*.* -ctime -10); do cp -p "$h" diretório-destino; done
for i in $(diretório-origem -name OUT-7104-3345*.* -ctime -10); do cp -p "$i" diretório-destino; done
echo "Arquivos copiados para com sucesso"
scp -p OUT-7104*.* root@xxx.xxx.xxx.xxx:~/gravacao
echo "Arquivos enviados com sucesso"
rm -rf diretório-destino/*.WAV
echo "Arquivos apagados com sucesso!"

OBS: Todos os scripts são executados de dentro do diretório-destino.


  


2. Re: Comando SCP travando no meio do script!

Edimar
dimasdaros

(usa Arch Linux)

Enviado em 29/03/2014 - 17:36h

Opa, blz?

Sobre ficar parado no scp sem pedir a senha não sei se consigo lhe ajudar, mas uma dica que dou é utilizar chaves para fazer essa comunicação, que vai lhe dar a vantagem de colocar esse script no cron pois ele não pedirá a senha, automatizando a tarefa.

Dê uma olhada nesse artigo aqui do VoL.
http://www.vivaolinux.com.br/dica/Utilizando-chaves-publicas-no-SSH-e-SCP

Grande abraço.


3. Re: Comando SCP travando no meio do script!

William Vieira Gomes
fenrirlobo

(usa CentOS)

Enviado em 02/04/2014 - 15:03h

Hum, compreendo. Porém colocar a tarefa no cron não é algo que planejamos, justo pq não há um intervalo fixo no qual esta tarefa será executada, pois dependemos de fatores externos que afeta o quando será executado o script.

Quanto a inserção da senha no próprio script, é algo a se considerar, vou ver a possibilidade de fazer isto.


Muito obrigado pelos esclarecimentos.



OBS: Se alguém ainda assim souber o pq do SCP travar no script que citei acima, a informação será muito bem vinda.


4. teoriao

marcos paulo de moraes
ninjabomba

(usa FreeBSD)

Enviado em 02/04/2014 - 20:38h

meu caro boa noite, 1 vc tem que fazer um unico scripth 1 que faz o filtro das modificacao,
um outro depois que faz o sincronismo com ftp, eu recomendo manter um copia tipo
if(fez sinconimo)
compara arquivo do ftp com arquivo atual mesmo tamanho, mesmo nome, mesma data de criacao;
copia arquivo para /backup;
apaga arquivo;
quando vc faz uma transmicao de um pc para outro atraves do ftp corre risco dele copiar e mesmo assim dar erro no arquivo, esse meu palpite eu fiz isso algo parecido mas usei rsync e o scp para sincronizar
os arquivo de um local para outro local..
eh mais segura que vc fazer dessa forma, quanto ao ftp acho que vai ser mais demorado.
--------------------------------------------------------------------------------------------
eu faco isso com alguns clientes meus, os quais tem contrato eu faco um rsync do servidor dele para o meu
de 5 em 5 minutos,
e uso no crontab um processo se o arquivo nao eh usando por mais de 6 meses em vai para um hd externo chamado arquivo-morto. dessa forma fica mais organizado e ele com pasta particular de cada funcionario organizada, e com backup local e teoricamente na nuvem. essa nuvem seria o outro pc onde ele joga o
sincronismo com rsync.
espero ter ajudado.



5. dia do scp

marcos paulo de moraes
ninjabomba

(usa FreeBSD)

Enviado em 02/04/2014 - 20:42h

cara vc ta usando o comando scp
nao sei a distro que vc trabalha eu trabalho com freebsd
no script vc precisa colocar o caminho inteiro da localizacao do comando
exemplo
/usr/bin/scp bla bla bla bla @bla bla bla bla
isso no freebsd localiza o scp na sua distro.
espero ter ajudado







Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts