volts.json
マイコンピュータ1は毎秒電圧データをファイルに書き込みます。
2番目のコンピュータはssh
5分ごとに接続してファイルをインポートします。 Splunkはダッシュボードファイルをインデックスします。
scp
この方法が有効であれば大丈夫でしょう。以下は、ファイルを管理し、2MBに増やすことなく小さく保つ方法です。古いログをスクロールして最新のログを保持するコマンドはありますか?
これでJSONは次のようになります。
{
"measuredatetime": "2022-06-27T18:00:10.915668",
"voltage": 207.5,
"current_A": 0.0,
"power_W": 0.0,
"energy_Wh": 2,
"frequency_Hz": 60.0,
"power_factor": 0.0,
"alarm": 0
}
{
"measuredatetime": "2022-06-27T18:00:11.991936",
"voltage": 207.5,
"current_A": 0.0,
"power_W": 0.0,
"energy_Wh": 2,
"frequency_Hz": 59.9,
"power_factor": 0.0,
"alarm": 0
}
答え1
- ディレクトリを同期状態に保つための
ssh
一般的なツールはですrsync
。 - ログファイルをロールアップしてスペースを節約します
logrotate
。非常に専門的です。 ssh
簡単な作業を無人で完了するには、強制コマンドを使用することをお勧めし.ssh/authorized_keys
ます。
例:
設定
/etc/logrotate.d/volts
ファイル(クラシックsyslog設定の模倣)使用:タスク固有のキーペアを生成します。この場合、制限的にセキュリティを確保する
ssh-keygen
必要はありません。autorized_keys
、設定
.ssh/authorized_keys
:command="rsync --server --sender -logDtpre.iLsf . /path/to/volts/" ssh-rsa AAAAB3NzaC1yc2E[...pubkey...] blabla
反対側に
crontab
集まるrsync -e "ssh -i /path/to/privatekey" -a otherhost:/path/to/volts/ /path/to/volts
マシン1では、ログファイルを名前付きパイプに置き換え、ストリームを消費し、ファイルに安全に書き込むデーモンスクリプトを作成することもできます。これにより、データを効果的に制御できます。真実性。