No.477


【Linux】サーバー起動時刻をUNIX時間で取得する【Bash】

シェルスクリプトでサーバー起動時刻を取得したい…UNIX時間で!

 表題の通りである。

 もちろん起動時刻だけなら uptime -s で取得できる。だが、自作のバッチなどと連携させるときに何かとUNIX時間だと便利になる。

 いつもコマンド忘れて力業で計算しようと expr とか書き出しちゃうことも多いのでメモ。


サーバー起動時刻をUNIX時間で取得

 下記のコマンドで取得できる。

date "+%s" -d"`uptime -s`"

 実際には変数に入れて使うことになるだろう。

BOOT=$(date "+%s" -d"`uptime -s`")
xxxx $BOOT

任意の日時をUNIX時間で取得

 上記の uptime コマンド部分を日付文字列にすればOK。

date "+%s" -d"YYYY-MM-DD HH:II:SS"

 実際にはこんな感じ。検算とかにも便利。

TIME=$(date "+%s" -d"2024-09-01 12:00:00")
xxxx $TIME