Executar script entre um determinado intervalo de tempo, como?

1. Executar script entre um determinado intervalo de tempo, como?

Macelo Laian de Andrade
macelolaian

(usa Debian)

Enviado em 26/10/2011 - 10:39h


#!/bin/bash

hora_inicial=12:00
hora_final=13:30



if hora do sistema estiver entre o intervalo $hora_inicial e $hora_final

then

comandos...

else

comandos...

if


Minha intenção é por este script pro cron executar em dois momentos: todos os dias 12:00, e todos os dias 13:30

Acontece que nesse intervalo eu tambem estou futricando nesse script, por isso preciso que funcione dessa forma.

heeellp!!


  


2. Re: Executar script entre um determinado intervalo de tempo, como?

Renato Carneiro Pacheco
renato_pacheco

(usa Debian)

Enviado em 26/10/2011 - 10:49h

É mais fácil vc colocar 2 horários no cron, não? Mas caso queira q ele seja executado 2x, vc pode usar o sleep pra isso e fazer com q o script seja rodado normalmente, fazendo uma função e chamando-a novamente:


funcao() {
comandos
comandos
}
funcao
sleep 5400
funcao



3. Re: Executar script entre um determinado intervalo de tempo, como?

Raimundo Alves Portela
rai3mb

(usa Outra)

Enviado em 26/10/2011 - 10:51h

Se fosse em um intervalo de hora sem fração daria para fazer assim:

#MIN #HORA #DIA #MES #DIA_DA_SEMANA #COMANDO
* 12-14 * * * ./script.sh

não sei como fazia para dar certo com o 13:30, se fosse de meia em meia hora ficaria:

*/30 * * * * ./script.sh


4. Re: Executar script entre um determinado intervalo de tempo, como?

Macelo Laian de Andrade
macelolaian

(usa Debian)

Enviado em 26/10/2011 - 10:56h

Não sei se é a maneira correta, poi na verdade quero desbloquear o msn no horario de almoço dessa abençoada empresa.


#!/bin/bash

hora_inicial=12:00
hora_final=13:30

if hora do sistema estiver entre o intervalo $hora_inicial e $hora_final

then

iptables para NÃO bloquear msn

else

iptables para bloquear msn para alguns ips.

if


Esquecemos o cron por enquanto, primeiramente quero entender como tratar dados de intervalos entre datas.

alguma sugestao?


5. Re: Executar script entre um determinado intervalo de tempo, como?

Raimundo Alves Portela
rai3mb

(usa Outra)

Enviado em 26/10/2011 - 10:57h

Ou você pode colocar para executar no cron a cada minuto e fazer a verificação do horário dentro do script:

hora_inicial='1200'
hora_fim='1330'

hora=$(date +%H%M)

if [ "$hora" -ge "$hora_inicial" ] && [ "$hora" -le "$hora_fim" ]; then

alguma coisa.....


e por ai vai ;-)


6. Re: Executar script entre um determinado intervalo de tempo, como?

Renato Carneiro Pacheco
renato_pacheco

(usa Debian)

Enviado em 26/10/2011 - 11:06h

Pq não faz via squid?


7. Re: Executar script entre um determinado intervalo de tempo, como?

Macelo Laian de Andrade
macelolaian

(usa Debian)

Enviado em 26/10/2011 - 11:18h

o bloquei de msn via squid eu tentei d varias formas, vi a maioria dos posts daki da comunidade, mas a intenção era bloquear msn para alguns ips e outros nao, e pelo squid por mais q tentassemos, bloqueava para toda a rede, e pelo iptables foi trankilo.

de qualquer forma, esse exemplo q to precisando vai abrir as ideias pra fazer outras coisas, vo testar o codigo do amigo acima jazin.


8. Re: Executar script entre um determinado intervalo de tempo, como?

Renato Carneiro Pacheco
renato_pacheco

(usa Debian)

Enviado em 26/10/2011 - 17:41h

Caso fosse pelo squid, dependia apenas da ordem das regras, bem como da restrição (se era por usuário ou por IP). Não é tão difícil assim...


9. Re: Executar script entre um determinado intervalo de tempo, como?

Perfil removido
removido

(usa Nenhuma)

Enviado em 27/10/2011 - 14:11h

Veja se este texto te dá uma ideia:

http://sekysu.blogspot.com/2010/05/saldacao-conforme-hora-do-dia.html






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts