データベースクエリを実行するAIX7上のbashスクリプトがあり、取得する出力は次の形式のタイムスタンプです:201607130319
。
次に、タイムスタンプを現在の時刻(date +%Y%m%d%H%M
--201607201802
)と比較し、分単位の違いを確認します。基本的に、差が10分以上かどうかを知る必要があります。
Linuxでdate -d
を使用してこれを実行できることはわかっていますが、AIXでは使用できません。サーバーに何もインストールすることも許可されていないので、ここでのオプションは何ですか?
Perlがインストールされている可能性があるので、
timestamp=$( some process ) # timestamp=201607130319
Perl -se '
use Time::Local;
if ($ts =~ /^(\d{4})(\d\d)(\d\d)(\d\d)(\d\d)$/) {
$time = timelocal(0,$5,$4,$3,$2-1,$1-1900);
$now = time;
if (abs( $time - $now ) > 600) {
print "more than 10 minutes\n";
}
}
' -- -ts="$timestamp"