Script para log de desligamentos e reinicializações

0

Estou tentando criar um script que será executado diariamente como um cronjob e registrará todos os desligamentos e reinicializações. Eu cheguei a isto, mas o grep parece ser ignorado, e o script resulta na saída de last -x shutdown reboot .

set ydate = $(date --date yesterday “+%b %d”)
last -x shutdown reboot | grep "$ydate" >>/var/log/down

Como posso fazer essa captura apenas as reinicializações e desligamentos do dia anterior?

    
por cmorris14 19.03.2015 / 16:44

1 resposta

3

Isso pode ser uma solução:

#!/bin/bash
YEST=$(date "--date=${today} -1 day" +%Y%m%d235959)
YEST_ONLY=$(date "--date=${today} -1 day" +"%b %e")
last -t $YEST -x shutdown reboot | grep "$YEST_ONLY"
  • Primeira linha: faça uma saída de data de ontem e formate como YYYYMMDDHHMMSS . É assim que last espera como um formato para -t argument
  • Segunda linha: crie um formato Mon DD de ontem. Por quê? Porque -t de last não pesquisa por uma data específica. Ele obterá um tempo e pesquisará as entradas mais antigas e .
  • Por fim, faça last mostrar ontem e mais velhos shutdown e reboot logs, grep ontem como filtro.

E sim. Concordo que last poderia ter um argumento de data para um dia específico.

    
por 19.03.2015 / 17:14

Tags