Pular para o conteúdo

Executar script entre um determinado intervalo de tempo, como?

Responder tópico
  • Denunciar
  • Indicar

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

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!!

Responder tópico

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

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?

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?

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?

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?

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

Pq não faz via squid?

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

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?

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...

Responder tópico

Responder tópico

Entre na sua conta para responder.

Fazer login para responder