Como interromper e acordar um Shell Script

1. Como interromper e acordar um Shell Script

Burgos Pereira
Frantic Avenger

(usa Ubuntu)

Enviado em 26/07/2011 - 11:14h

Bom dia a todos, este é meu primeiro comentário, espero que de muitos, aqui no fórum. Espero conseguir aprender muito com vocês e ajudar com os conhecimentos que possuo.

Tenho uma dúvida que tentarei explicar abaixo espero estar sendo claro na descrição.

Tenho um script que roda no servidor e ele fica executando mesmo não tendo arquivo para ser processado. Gostaria de saber se há uma saída para que o script se bloqueie e volte a executar somente quando um novo arquivo for inserido no diretório de input.

Obrigado.


  


2. Re: Como interromper e acordar um Shell Script

Alexandre Gonçalves Monteiro da Silva
alexandregms

(usa Ubuntu)

Enviado em 26/07/2011 - 11:52h

Você pode fazer a verificação se o arquivo existe:

if [ -f /diretorio_exemplo/arquivo.txt ]; then

echo "Arquivo existe, executar os comandos...."

fi


3. Re: Como interromper e acordar um Shell Script

Elder Marco
eldermarco

(usa Fedora)

Enviado em 26/07/2011 - 12:05h

Talvez você esteja se referindo a criar um daemon com shell script. Eu não sei se isso é possível, mas dê uma procurada na internet a respeito. Alternativamente, você pode pensar em usar o cron para executar periodicamente o script. O script verifica se o diretório está vazio. Caso não esteja, ele realiza alguma tarefa que você queira. Caso esteja, ele não faz nada e cai fora.


4. Re: Como interromper e acordar um Shell Script

Burgos Pereira
Frantic Avenger

(usa Ubuntu)

Enviado em 26/07/2011 - 12:16h

Obrigado a ambos pela sugestão:
No caso do if, o script já faz isso, só que ininterruptamente, para quando ele achar o arquivo executa os comandos devidos.
No caso do Daemon vou dar uma pesquisa e ver o que pode ser feito.

Se alguém tiver mais sugestões eu agradeço


5. Re: Como interromper e acordar um Shell Script

Raimundo Alves Portela
rai3mb

(usa Outra)

Enviado em 26/07/2011 - 22:16h

Tenho um script que faz algo parecido para realizar backups, a lógica básica seria:


# --------------------[ parametrização ]-----------------------
ESPERA=60 # tempo para esperar até executar novamente sem segundos

# ----------------[ execução ]---------------------
while :
do
# Se não existir o arquivo, espera e continua o laço
if [ ! f $NOME_ARQUIVO ]; then
sleep $ESPERA
continue
fi
# coloque seus comandos
done

Abraços






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts