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.