コマンドラインまたはログからNetbackupジョブの書き込み時間を取得する方法を知っている人はいますか? GUIで、ジョブの詳細に移動すると、書き込み時間が表示されます。ただし、bpdbjobs -all_columns
'elapsed '列には、ジョブにかかった時間が表示されますが、実際の書き込み時間は表示されません。
実際、bpdbjobs -all_columns
から'06/09/0919:41:27のようなフィールドがあります-書き込みを終了します。書き込み時間:000:06:56 '。 1つのジョブで複数回表示される場合があり、常に同じインデックスにあるとは限りません。しかし、すべてのフィールドを反復処理するのは、それらを解析して秒に変換し、すべてを合計するのに十分簡単です。
何かのようなもの:
sub stripLeadZeros {
my $number = shift;
$number =~ s/^0+//;
return $number;
}
sub parseWriteTime {
my $writeString = shift;
if ( $writeString =~ /([0-9]{3}):([0-9]{2}):([0-9]{2})/ ) {
my $hours = stripLeadZeros($1) || 0;
my $minutes = stripLeadZeros($2) || 0;
my $seconds = stripLeadZeros($3) || 0;
my $totalSec = (($hours * 60) * 60) + ($minutes * 60) + $seconds;
return $totalSec;
}
return 0;
}