Gerenciamento de arquivos em execução [RESOLVIDO]

1. Gerenciamento de arquivos em execução [RESOLVIDO]

Iago Lira
iagolira

(usa Debian)

Enviado em 28/01/2015 - 10:14h

Olá Pessoal!
Hoje estou lhes pedindo que me ajudem a resolver um problema que não faço ideia de como fazer!
-Tenho um programa que se chama "xbty.exe", este quando executado me devolve os arquivos "output1.out, output2.out, output3.out, output4.out e etc".
-Baseado no que foi dito acima, preciso que me ajudem a criar um programa em BASH que monitore a saída desses arquivos "*.out".
-Pois quando o "xbty.exe" lançar a primeira saida o "programa.sh" tem que acompanhar ele antes da próxima saida.
-O "programa.sh" tem que mandar uma saída de que o arquivo "*.out" foi gerado com sucesso!

Quem se dispor em me ajudar, ficarei muitíssimo grato!


  


2. Re: Gerenciamento de arquivos em execução [RESOLVIDO]

Renan Arantes
R3nan

(usa Debian)

Enviado em 28/01/2015 - 10:41h


de quanto em quanto tempo é gerado um novo *.out, eles ficam todos no mesmo diretorio?


3. Re: Gerenciamento de arquivos em execução [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 28/01/2015 - 10:53h

passosfil escreveu:

Olá Pessoal!
Hoje estou lhes pedindo que me ajudem a resolver um problema que não faço ideia de como fazer!
-Tenho um programa que se chama "xbty.exe", este quando executado me devolve os arquivos "output1.out, output2.out, output3.out, output4.out e etc".
-Baseado no que foi dito acima, preciso que me ajudem a criar um programa em BASH que monitore a saída desses arquivos "*.out".
-Pois quando o "xbty.exe" lançar a primeira saida o "programa.sh" tem que acompanhar ele antes da próxima saida.
-O "programa.sh" tem que mandar uma saída de que o arquivo "*.out" foi gerado com sucesso!

Quem se dispor em me ajudar, ficarei muitíssimo grato!


"Gambiarra da grossa" :P

A única solução é modificar o programa xbty.exe e fazê-lo logar a criação dos arquivos. Qualquer coisa diferente disto dependerá de muita sorte para funcionar.



4. Re: Gerenciamento de arquivos em execução [RESOLVIDO]

Renan Arantes
R3nan

(usa Debian)

Enviado em 28/01/2015 - 11:19h


segura ai o script, teste e adapte


#!/bin/bash
while true; do
ULTIMOARQ=$(ls -l | grep output | awk -F"t" '{print $3}' | awk -F"." '{print $1}' | sort -n | tail -1)
while true; do
NOVOARQ=$(ls -l | grep output | awk -F"t" '{print $3}' | awk -F"." '{print $1}' | sort -n | tail -1)
if [ $ULTIMOARQ != $NOVOARQ ]; then
clear
echo "tem novo"
sleep 15
break
else
clear
echo "Aguardando novo *.out"
sleep 1
fi
done
done




5. Re: Gerenciamento de arquivos em execução [RESOLVIDO]

Iago Lira
iagolira

(usa Debian)

Enviado em 28/01/2015 - 14:56h

R3nan escreveu:


segura ai o script, teste e adapte


#!/bin/bash
while true; do
ULTIMOARQ=$(ls -l | grep output | awk -F"t" '{print $3}' | awk -F"." '{print $1}' | sort -n | tail -1)
while true; do
NOVOARQ=$(ls -l | grep output | awk -F"t" '{print $3}' | awk -F"." '{print $1}' | sort -n | tail -1)
if [ $ULTIMOARQ != $NOVOARQ ]; then
clear
echo "tem novo"
sleep 15
break
else
clear
echo "Aguardando novo *.out"
sleep 1
fi
done
done



Obg! Vou testar...




6. Re: Gerenciamento de arquivos em execução [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 28/01/2015 - 15:09h

Você também pode tentar uma implementação com Nagios e algum monitor de arquivos e diretórios. Não envolveria desenvolvimento algum e teria um pouco mais de chances de funcionar.


7. Re: Gerenciamento de arquivos em execução

Iago Lira
iagolira

(usa Debian)

Enviado em 03/02/2015 - 14:32h

R3nan escreveu:


segura ai o script, teste e adapte


#!/bin/bash
while true; do
ULTIMOARQ=$(ls -l | grep output | awk -F"t" '{print $3}' | awk -F"." '{print $1}' | sort -n | tail -1)
while true; do
NOVOARQ=$(ls -l | grep output | awk -F"t" '{print $3}' | awk -F"." '{print $1}' | sort -n | tail -1)
if [ $ULTIMOARQ != $NOVOARQ ]; then
clear
echo "tem novo"
sleep 15
break
else
clear
echo "Aguardando novo *.out"
sleep 1
fi
done
done




R3nan vc pode explicar mais do que você escreveu no código?
Pois quando executo o script ja aparece a mensagem:"tem novo". Sendo que não existe o arquivo "*.out".
Quando executo o script com outro programa(uso fortran 90) para gerar os arquivos o programa não funciona como eu queira.


Quero que script encontre um arquivo de saída(extensão *.out) pouco antes do próximo ser gerado(pois no fortran a saída é muito rápida).



8. Re: Gerenciamento de arquivos em execução

Iago Lira
iagolira

(usa Debian)

Enviado em 16/02/2015 - 15:24h

Resolvi o problema comaparando os PIDs:


#!/bin/bash
#Autor principal:
#Iago Lira: http://goo.gl/u2JDu7
#Colaboradores:
#Renan Arantes: http://goo.gl/sEuYQL
#Wagner Souza: http://goo.gl/OemDdw
while true; do
PIDOF=$(which pidof)
PID=$($PIDOF tbfor)

for i in $PID;
do

while true; do
PIDOF=$(which pidof)
PID=$($PIDOF tbfor)

for j in $PID;
do
if [ $i != $j ]; then
clear
echo "tem novo"
sleep 1
break
else
clear
echo "Aguardando novo *.out"
sleep 1
fi
done
done
done
done




9. Re: Gerenciamento de arquivos em execução [RESOLVIDO]

Renan Arantes
R3nan

(usa Debian)

Enviado em 16/02/2015 - 17:14h


que bom! parabéns!


10. Re: Gerenciamento de arquivos em execução [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 16/02/2015 - 22:35h

passosfil escreveu:

Resolvi o problema comaparando os PIDs:


#!/bin/bash
#Autor principal:
#Iago Lira: http://goo.gl/u2JDu7
#Colaboradores:
#Renan Arantes: http://goo.gl/sEuYQL
#Wagner Souza: http://goo.gl/OemDdw
while true; do
PIDOF=$(which pidof)
PID=$($PIDOF tbfor)

for i in $PID;
do

while true; do
PIDOF=$(which pidof)
PID=$($PIDOF tbfor)

for j in $PID;
do
if [ $i != $j ]; then
clear
echo "tem novo"
sleep 1
break
else
clear
echo "Aguardando novo *.out"
sleep 1
fi
done
done
done
done



Você terá problemas caso o "tbfor" aborte sua execução ou seja morto, ou ainda caso não esteja rodando no momento da execução do pidof.


11. Re: Gerenciamento de arquivos em execução [RESOLVIDO]

Iago Lira
iagolira

(usa Debian)

Enviado em 18/02/2015 - 14:48h


Vdd! Mas não pensei em outra coisa... Vc poderia melhorar esse script? Se puder, me ajude...


12. Re: Gerenciamento de arquivos em execução [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 18/02/2015 - 16:22h

passosfil escreveu:


Vdd! Mas não pensei em outra coisa... Vc poderia melhorar esse script? Se puder, me ajude...


Você pode tentar monitorar o diretório, por meio de script ou ferramentas prontas, para quanto aparecer o arquivo desejado, pode ainda incluir a verificação num servidor Nagios ou relacionados. Contudo, NÃO há nenhum método capaz de garantir correto funcionamento. A não ser que os programas que criam os arquivos registrassem esses eventos num arquivo de log ou mesmo para a saída padrão, do contrário, só é possível automatizar metade da tarefa e é necessário verificar constantemente as soluções empregadas.







Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts