Parâmetro para comando dentro de uma variável. [RESOLVIDO]

1. Parâmetro para comando dentro de uma variável. [RESOLVIDO]

Hugo Souza
Hugo de Souza

(usa Debian)

Enviado em 11/12/2018 - 09:57h

Bom dia amigos estou com o seguinte problema, O script abaixo não funciona com a variável $DELAY como parâmetro para o shuf e consequentemente o sleep também não executa.
Meu objetivo é, fazer que o sleep receba sempre um parâmetro aleatório em segundos.

HORAS=2
DELAY=$(($HORAS * 3600))
sleep `shuf -i 10-$DELAY -n1`

Espero que tenham entendido.
Muito obrigado à todos.


  


2. MELHOR RESPOSTA

Mauriciodez
Mauriciodez

(usa Debian)

Enviado em 11/12/2018 - 10:23h

Pode ser assim ???

HORAS=2
DELAY=`shuf -i 10-$(($HORAS * 3600)) -n1`
sleep $DELAY


------------------------------------------| Linux User #621728 |-----------------------------------------

" Nem sempre é amigo aquele que te tira do buraco !!! ( Saddam Hussein )"

------------------------------------------| Linux User #621728 |-----------------------------------------


3. Re: Parâmetro para comando dentro de uma variável. [RESOLVIDO]

Renato Carneiro Pacheco
renato_pacheco

(usa Debian)

Enviado em 11/12/2018 - 10:11h

Não, eu não entendi. Poderia ser mais claro?

--
Renato Carneiro Pacheco
Certificado Linux LPIC-1
Especialista em Segurança em Redes de Computadores
Graduado em Redes de Comunicação

http://br.linkedin.com/in/renatocarneirop
http://www.facebook.com/renatocarneirop

"Não acredite no que eu digo, pois é a minha experiência e não a sua. Experimente, indague e busque." - Osho Rajneesh


4. Re: Parâmetro para comando dentro de uma variável. [RESOLVIDO]

Hugo Souza
Hugo de Souza

(usa Debian)

Enviado em 11/12/2018 - 10:46h

Ok, assim que tentar eu posto o resultado, muito obrigado


5. Re: Parâmetro para comando dentro de uma variável. [RESOLVIDO]

Hugo Souza
Hugo de Souza

(usa Debian)

Enviado em 11/12/2018 - 10:55h

Mauriciodez escreveu:

Pode ser assim ???

HORAS=2
DELAY=`shuf -i 10-$(($HORAS * 3600)) -n1`
sleep $DELAY


------------------------------------------| Linux User #621728 |-----------------------------------------

" Nem sempre é amigo aquele que te tira do buraco !!! ( Saddam Hussein )"

------------------------------------------| Linux User #621728 |-----------------------------------------

Tentei aqui, executando direto no terminal funcionou perfeitamente, porém isso ai vai dentro do /etc/crontab para executar um comando em tempo aleatório, por exemplo:

52 10   * * *   root    sleep $DELAY; ./script.sh 



6. Re: Parâmetro para comando dentro de uma variável. [RESOLVIDO]

Mauriciodez
Mauriciodez

(usa Debian)

Enviado em 11/12/2018 - 11:07h

Hugo de Souza escreveu:
.. isso ai vai dentro do /etc/crontab para executar um comando em tempo aleatório, por exemplo:


Não saberia como te ajudar, pois no cron só sei fazer o basicão ... não sei como é a dinâmica de cron + variáveis !!

------------------------------------------| Linux User #621728 |-----------------------------------------

" Nem sempre é amigo aquele que te tira do buraco !!! ( Saddam Hussein )"

------------------------------------------| Linux User #621728 |-----------------------------------------



7. Re: Parâmetro para comando dentro de uma variável. [RESOLVIDO]

Hugo Souza
Hugo de Souza

(usa Debian)

Enviado em 11/12/2018 - 11:11h

Amigos, muito obrigado, consegui da seguinte maneira dentro do /etc/crontab:

HORAS=2
00 10 * * mon,wed,fri root sleep `shuf -i 10-$(($HORAS * 3600)) -n1`; ./script.sh


Com isso meu script será executado entre 10s ou 2h após o cron ser chamado, no meu caso às 10:00 todas as segundas, quartas e sextas.

Muito obrigado Mauriciodez






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts