シャットダウンと再開を記録するスクリプト

シャットダウンと再開を記録するスクリプト

毎日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"
  • 1行目:昨日の日付をフォーマットで出力しますYYYYMMDDHHMMSS。これは、Expectがパラメータ形式で指定されるlast方法です。-t
  • 行2:Mon DD昨日の形式を作成します。なぜ?なぜなら、-tfromはlast特定の日付を検索しないからです。時間を取得してその時間を検索します。そして以前のリンク項目です。
  • 最後に、昨日lastと前のコンテンツとshutdownログrebootを表示し、昨日をフィルタとしてgrepします。

はい。last特定の日付の日付パラメータを持つことが可能であることに同意します。

おすすめ記事