私は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スクリプトが終了すると他の問題を引き起こす可能性があります。