systemdサービスでnetcatをリセットする

systemdサービスでnetcatをリセットする

私はnetcatを使用してTCPを介してサーバーに接続し、受信したデータを常にファイルに転送しています。

nc 10.0.2.2 3456 > file.data

端末またはスクリプトで実行しても接続状態が維持されます。

サービスとして実行して実行し続け、失敗した場合は再起動したいと思います。ただし、systemdサービスで同じスクリプトを実行すると、接続がすぐに切断され、ログが表示されます。

ncat: connection reset by peer

ncをサービスとして実行するには制限がありますか?

私は次のように設定しました。

[Unit]
User=user
Type=simple
ExecStart=ncscript.sh
Restart=always

ベストアンサー1

ncサービスで安定して運営しています。これが私がしたことです:

[Service]
ExecStart=/bin/nc 10.10.1.20 19184
StandardOutput=journal
StandardError=journal

私の場合は、ncトリガーリモートソケットユニットを使用してリモートサービスをトリガーしました。サービスの標準出力はソケットを介してルーティングされ、私のログに直接移動されます。

> file.txtスクリプトでいくつかのリダイレクト()を実行しています。それが私が見る唯一の違いなので、それが問題の原因だと思います。代わりに、次のものを使用できます。

StandardOutput=append:/path/to/file.txt

私たちは完全な物語を持っていないかもしれません。これにより:

nc 10.0.2.2 3456 > file.data &

これはbashスクリプトが終了すると他の問題を引き起こす可能性があります。

おすすめ記事