![]() |
|
|
google unix.com
|
|||||||
| Fóruns | Registar | Fórum Regimento | Ligações | Álbuns | FAQ | Lista deputados | Calendário | Pesquisa | Today's Posts | Mark Forums Read |
| Programação Shell Script e Post perguntas sobre ksh, CSH, SH, BASH, Perl, PHP, SED, Awk e outros scripts shell e shell scripts línguas aqui. |
Mais UNIX e Linux Fórum Tópicos Você pode achar Helpfull
|
||||
| Fio | Thread Starter | Fórum | Respostas | Última postagem |
| cron? automatizar um script | hassanj | UNIX para Dummies Perguntas & Respostas | 8 | 12-22-2007 09:29 |
| É possível ter mais de um Cron em shell script? | Yamini Thoppen | AIX | 4 | 12-17-2007 03:23 |
| Cron job para Perl | homem | UNIX & avançada para usuários experientes | 3 | 07-26-2007 02:20 |
| Pode executar o script manualmente, mas não através Cron? | MadHatter | Programação Shell Script e | 4 | 10-19-2005 11:08 |
| Cron script Q | doublek321 | Programação Shell Script e | 2 | 07-06-2004 10:35 |
![]() |
|
|
Linkback | Thread Tools | Pesquisar este Thread | Rate Thread | Display Modes |
|
|
|
||||
|
Ajuda com script - executado pelo cron
Olá,
Eu tenho um script que é executado a cada minuto para processar arquivos recebidos entregue externamente via SFTP em um diretório. Basicamente o script funciona e processa os arquivos no entanto eu recebo um erro quando é emitido um novo arquivo para o diretório. Por favor, veja o meu script abaixo. Um novo arquivo é entregue todos os dias por SFTP de uma fonte externa, que o script processos para a convenção de nomenclatura correta, e é então importado para nosso banco de dados usando curl. Recebemos um novo ficheiro de 06:05 todos os dias e eu recebi uma mensagem de erro cron entregue a minha caixa de mensagens todas as manhãs. No entanto, em seguida, se eu ir e mudar o script e então testá-lo utilizando o mesmo arquivo com cron irá processar corretamente. No entanto, quando eu entrar na parte da manhã eu vou achar que ele não tenha mais uma vez - muito frustrante! Não tenho idéia porque isso é! Se alguém pode sugerir alguma coisa que possa resolver por favor me avise. Tenho também incluiu uma cópia da mensagem de erro eu recebo do Cron. #! / bin / bash TRANSDATA \u003d / home / tsbftp / transaction_data TRABALHO \u003d / home / tsbftp / trabalho FILES \u003d $ (ls $ TRANSDATA) IMPORTAÇÃO \u003d / home/arch3ftp/dfn-dev.arch3systems.com/html/import for file in $ FILES fazer # mudar de proprietário do arquivo a raiz - alterar permissões de root para acesso total echo "$ file"> / tmp / formatfile.nfo chown root $ TRANSDATA / "$ file" chmod 777 $ TRANSDATA / "$ file" # Retirar o número da conta e colocar em uma variável AN \u003d $ (grep ^ 00 $ TRANSDATA / "$ file" | cut-c 3-18) # definir data e hora atuais para a convenção nome do arquivo e colocar em uma variável CUDA $ \u003d (data +% Y% m% d% k% M% S) # Renomeie Atual Arquivo com formato requerido mv $ TRANSDATA / "$ file" $ TRANSDATA / $ UM "_" $ CUDA.a3i sleep 2 mv $ TRANSDATA / $ UM "_" $ $ CUDA.a3i TRABALHO echo $? >> / Tmp / formatfile.nfo cp $ TRABALHO / AN $ "_" $ $ CUDA.a3i IMPORTAÇÃO curl-s http://dfn-dev.arch3systems.com/batches/import/ $ AN / $ CUDA feito exit 0 Como você pode ver que adicionou no sono etc 2 de tentar reparar o erro que recebo e tentou mudar o nome do arquivo no local, em seguida, que se deslocam etc Por favor, veja abaixo da mensagem de erro Cron. / etc / cron.d / format_file.sh: mv: quando se deslocam de vários ficheiros, o último argumento deve ser um diretório Tente `mv - help 'para mais informações. cp: cannot stat `/ home/tsbftp/working/1539590548547000_20080305 ': Nenhum tal lima ou diretório Eu sempre obter o mv erro, porém se eu alterar o script para fazer a mudar o nome de uma forma diferente, ela irá funcionar quando eu testá-lo com o cron! No entanto suficiente certeza ele irá falhar quando um novo arquivo chega no dia seguinte! |
|
||||
|
obrigado pela resposta ur dizendo o que eu entendo, mas certamente seria eventualy processo em que o arquivo está completo? como ele é executado a cada minuto. O arquivo não irá processo ainda se eu executá-lo manualmente no novo arquivo que veio no mesmo depois de esperar um par de minutos. É só depois de eu mudar um pouco o script irá processar o arquivo corectly até que um novo arquivo aparece próximo dia.
Vou tentar o que u têm sugerido como já esgotou de idéias. Obrigado novamente. Richo |
![]() |
| Marcadores |
| Thread Tools | Pesquisar este Thread |
| Display Modes | Esta taxa Thread |
|
|