私は自宅で小さな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
デーモンツールから - ブルースガンター
multilog
daemontools-encoreから - ローランベルコ
s6-log
s6から - ゲレットペプの
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
デーモンツールから - ブルースガンター
tai64nlocal
daemontools-encoreから - 私のもの
tai64nlocal
幼い頃からおやつ
次のログを使用して作成されますので、次のログを観察してください。
tail -F
しかし、tail
非常に急速に回転すると既知の問題があります。 (これはですtail
。logrotate
ファイルが完全に作成された場合、これらの追加の問題が発生する危険はありませんtail
。)- 私のもの
follow-log-directories
noshからのこのログディレクトリは、この種のログディレクトリを「認識」し、「カーソル」(ディスクに永続的に保存されている)を使用してログディレクトリの場所を安定的に追跡し、ログトラッカーが気付かずに複数回転が発生した場合は続行します。 。
次のツールを使用して他の種類の処理を実行できます。
- ラス・アルベリー
multilog-watch
logrange
- ポールクレーマー
multilog-stamptail
- 私のもの
export-to-rsyslog
幼い頃からおやつ
追加読書
- ジョナサンデボインポラード(2015)。 」記録」。デーモンツールシリーズ。よく与えられる答えです。
- カントレル、ブライアン(2013)。 クルーズがどのようにオデッセイになるのか。 OmniIT急増2013。YouTube。
- ブライアンカントレル(2012-07-29)。tail -f wrt 切り捨て動作 illusmos - 開発者。
- https://unix.stackexchange.com/a/294206/5132