追加読書

追加読書

私は自宅で小さなLinuxサーバーを実行しており、5秒ごとにCPUコアの温度を記録するスクリプトを書いていますが、これが機能するにはタイムスタンプが必要です。これまではsensors、コマンドの出力をファイルに保存する機能と、日付と時刻を印刷するコマンドがあります。この2つを組み合わせる方法を理解してください。

sensors | grep ^Core* >> temps.log次の形式でtemps.logに一時値を保存します。

Core 0:       +39.0°C  (high = +76.0°C, crit = +100.0°C)
Core 1:       +40.0°C  (high = +76.0°C, crit = +100.0°C)

date +%m/%d/%y-%H:%M:%Sそして戻ってくる日は私ができます。

mm/dd/yy-hh:mm:ss

グーグルをやってみると、誰かが使用を提案しているのを見ましたが、作業gawk方法がわかりませんgawk

ベストアンサー1

5秒ごとに[...]ログするスクリプト[...]タイムスタンプが必要です[...]ファイルが特定のサイズに達するとループ[...]

基本プログラムのログ出力を入力にインポートし、サイズが制限されたログファイルに書き込み、タイムスタンプを追加するツールが必要です。既存のツールはこれとそれ以上を行うことができます。彼らが行う「追加」アクションは、要求に応じてトリガーされる可能性があるログファイルの自動回転にサイズ制限を維持します。ログディレクトリ現在および前のログファイル。

次のツールから選択できます。

  • ダンバーンスタインmultilogデーモンツールから
  • ブルースガンターmultilogdaemontools-encoreから
  • ローランベルコs6-logs6から
  • ゲレットペプのsvlogdルーネットから
  • ウェインマーシャルtinylog犯罪者から
  • 私のものcyclog幼い頃からおやつ

長期実行ユーティリティが次のように、数秒ごとに必要なログ出力を印刷するとします。

#!/bin/sh
#Monitoring Sensor
2>&1を実行
本当ではありますが
する
検出器
睡眠5
完了grep --line-buffered -- '^Core'

使い方はとても簡単です。

  • monitor-sensors | cyclog ./temps
  • monitor-sensors | multilog t ./temps

そして簡単に調整できます:

  • monitor-sensors | cyclog --max-file-size 32768 --max-total-size 1048576 ./temps
  • monitor-sensors | s6-log t s32768 S1048576 ./temps
  • monitor-sensors | multilog t s32768 n5 ./temps

ここでは、daemontools-encore/runit/perp/s6/nosh などのツールセットを使用して、そのパイプの左右をプログラムrunに移動し、リンクペアの実際のデーモンにするのは小さなステップです。プロセスが実行されます。 。

ただし、たとえば、コマンドラインで1回限りの呼び出しのみを実行したい場合は、両方の既存のログディレクトリの1回限りの出力ケースを処理できます。

これらのツールのいくつかは他の形式のタイムスタンプを実行できますが、すべてTAI64Nタイムスタンプを実行できます。 TAI64Nタイムスタンプはナノ秒精度を提供するように設計されていますが、上記の方法のいくつかはこれを達成できませんでした。うるう秒のような作業は、TZデータベースが知っている限り、うまく処理できsortますsort -m

TZ次のツールを使用して、TAI64Nタイムスタンプを現在のタイムゾーンの現地時間に変換します(または単に環境変数だと思う場合は選択したタイムゾーン)。

  • ダンバーンスタインtai64nlocalデーモンツールから
  • ブルースガンターtai64nlocaldaemontools-encoreから
  • 私のものtai64nlocal幼い頃からおやつ

次のログを使用して作成されますので、次のログを観察してください。

  • tail -Fしかし、tail非常に急速に回転すると既知の問題があります。 (これはですtaillogrotateファイルが完全に作成された場合、これらの追加の問題が発生する危険はありませんtail。)
  • 私のものfollow-log-directoriesnoshからのこのログディレクトリは、この種のログディレクトリを「認識」し、「カーソル」(ディスクに永続的に保存されている)を使用してログディレクトリの場所を安定的に追跡し、ログトラッカーが気付かずに複数回転が発生した場合は続行します。 。

次のツールを使用して他の種類の処理を実行できます。

追加読書

おすすめ記事