私は2つのubuntuサーバーを持っており、送信サーバーでスクリプトを使用して(まだ記述していませんが)、次のコマンドを使用して変更されるたびにファイルabcd.txtを送信します。
nc 10.10.10.4 3333 < abcd.txt
リスニングサーバーでは、-k
オプションを使用して、継続的にリスニングを維持しています。
nc -k -l 3333 > /home/abcd.txt
私の目標は、送信サーバーがファイルを送信するたびに、リスニングサーバー上のファイルを上書きすることです。これは起こっていません。代わりに、ファイル全体が追加され、行が重複します。これを修正する方法はありますか?私はnetcatを使用するよりもオプションを受け入れています。
また、ファイルが非常に大きく、タイミングの制約が課せられているため、リスニングサーバーに到達した後、sortまたはuniqコマンドを使用してabcd.txtを変更することはできません。 (送信側のファイルは60秒ごとにローリングする可能性があります。)
ここでの問題は、nc
が正しい解決策ではないということだと思います。リスニングnc
は終了しないため、ファイルに追加し続けます。
scp
またはrsync
を使用してみませんか?ターゲットマシンでsshd
を実行している場合は、どちらかを使用できます。まだ実行していない場合は、実行するか、デーモンモードでrsync
を実行します。
送信者でscp
またはrsync
を起動するたびに、受信者はファイルを上書きします。