ログファイルにタイムスタンプを追加しますか?

ログファイルにタイムスタンプを追加しますか?

スクリプトファイルを実行しています。awkたとえば、複数のコマンドをパイプするスクリプトにwhileループを作成し、sed最後に演算子を使用して出力をファイルに書き込みます>。ファイルの先頭行にタイムスタンプを追加しようとしています(ファイルが添付されていません)。

スクリプトを実行するたびに、次のようにファイルにタイムスタンプを書き込む必要があります。

タイムスタンプ

ファイルデータ

答え1

次のような2番目のスクリプトを生成するとします。

#!/bin/bash
echo -e "$(date)\n" # of course format date to your needs
cat <&0
exit $?

これは次のように機能します。(... all your commands & pipes...) | new_script >output.file

説明する:

まず、日付と改行をエコーし​​てからSTDINを接続し、最後に最後の終了コードで終了します。

答え2

最も簡単な方法は、おそらく日付を介してファイルに時間を書き、次のようにファイルにデータを追加することです。

date > file
your_code >> file

ユースケースに合った正しい形式を見つけるには、マンページで日付を確認してください。

答え3

`date "+%Y-%m-%d"`2016-04-26のように、行の後や前にこれを追加してください。

あなたのコードからprintf "this is the output\t`date "+%Y-%m-%d"`"

次のように読みます。

これは2016-04-26の出力です。

echoこれを使用することもできます

他の同様の操作を実行できます。

`date "+%b%d"`たとえば、4月26日

その他の形式確認の場合man date

追加情報:

`(バックティック):コマンドの置き換え

` 文字(〜の付いたキーにある)は、シェルコマンドで使用するときに非常に重要です。これは ` が使われるたびにコマンド置換が必要であることを意味します。したがって、 ` を使用するたびに、これらのバックティック表示に含まれるコマンドの一部が実行され(まるで唯一のコマンドであるかのように)、そのコマンドの結果はユーザーが入力した元のシェルコマンドに置き換えられます。以下に明確に説明されています

源泉:http://www.codecoffee.com/tipsforlinux/articles/26-2.html

答え4

「記録計」

また、見たいと思うかもしれませんlogger。これは、システムの標準ログ出力形式でシステムログ(またはジャーナル)にメッセージを書き込むかなり見落とされるコマンドです。アプリケーションが独自のログファイルを維持している場合、これは役に立ちませんが、場合によっては標準のシステムロギング機能を使用するための良い設計根拠があるかもしれません。場合に備えてloggerタイムスタンプが追加されています。

関連情報