msoliver
(usa Debian)
Enviado em 24/08/2022 - 23:07h
andryosribeiro escreveu:
Olá pessoal, estou com uma dúvida ..
Tenho um script shell onde executo ele minuto a minuto e com isso, sempre que executado é gerado um arquivo de log com o resultado.
Dúvida: Como consigo fazer com que o resultado vá para o mesmo arquivo no periodo de 10 min?
Exemplo: Executei às 10:00, ai gerou um arquivo teste.log
Executei às 10:01, ai o resultado vai para o mesmo teste.log de uma vez de criar outro arquivo. Quero que gere arquivos novos de 10 em 10 minutos.
É possível?
Boa noite andryosribeiro.
Sim!
É possível.
O comando abaixo, checa se o arquivo tem mais de 10 minutos, desde a sua criação.
(((($EPOCHSECONDS-$(stat --printf "%W" testes_log.txt))/60)>10)) && echo sim || echo nao
Dica para criar o arq de log:
log=$(printf "Arq_Log_%(%s)T.txt")
---------------------------------------------------------------------------------------------------------------
Pegando o arq alterado mais recente (log em uso):
ls -1t --time-style="+%s" Arq_Log_*.txt|head -n1
---------------------------------------------------------------------------------------------------------------
Colocando em ordem:
loguso=$(ls -1t --time-style="+%s" Arq_Log_*.txt|head -n1);
(((($EPOCHSECONDS-$(stat --printf "%W" "$loguso"))/60)>10)) && echo sim || echo nao
#Test:
(( ((1661393193-1661390165)/60)>10 ))
---------------------------------------------------------------------------------------------------------------
#Fica_a_Dica
______________________________________________________________________
Importante:
lynx --dump
https://www.vivaolinux.com.br/termos-de-uso/ | sed -nr '/^[ ]+Se/,/dou.$/p'
______________________________________________________________________
Nota de esclarecimento:
O comando:
ACIMA, faz parte da minha assinatura.
Att.: Marcelo Oliver
______________________________________________________________________