종료 및 다시 시작을 기록하는 스크립트

종료 및 다시 시작을 기록하는 스크립트

매일 cronjob으로 실행하고 모든 종료 및 다시 시작을 기록하는 스크립트를 만들려고 합니다. 나는 이것을 알아냈지만 grep은 무시되는 것 같고 스크립트의 출력은 last -x shutdown reboot.

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

전날의 재부팅 및 종료만 캡처하려면 어떻게 해야 합니까?

답변1

이것이 해결책일 수 있습니다:

#!/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"
  • 첫 번째 줄: 어제 날짜를 형식으로 출력합니다 YYYYMMDDHHMMSS. 이는 Expect가 매개변수 형식으로 지정되는 last방식 입니다.-t
  • 2행 : Mon DD어제의 형식을 만듭니다. 왜? 왜냐하면 -tfrom은 last특정 날짜를 검색하지 않기 때문입니다. 시간을 얻어 해당 시간을 검색합니다.그리고이전 링크 항목입니다.
  • 마지막으로 last어제와 이전 콘텐츠 shutdownreboot로그를 표시하고 어제를 필터로 grep합니다.

예. last특정 날짜에 대한 날짜 매개변수를 갖는 것이 가능하다는 데 동의합니다 .

관련 정보