Bagaimana cara menimpa file tujuan dengan netcat sebagai ganti append?

1

Saya memiliki dua server ubuntu dan akan menggunakan skrip (walaupun saya belum menulisnya) di server pengirim untuk mengirim file abcd.txt setiap kali ia berubah menggunakan:

    nc 10.10.10.4 3333 < abcd.txt

Di server mendengarkan saya menggunakan opsi -k untuk terus mendengarkan:

    nc -k -l 3333 > /home/abcd.txt

Tujuan saya adalah agar file pada server mendengarkan ditimpa setiap kali server pengirim mengirim file. Ini tidak terjadi. Alih-alih seluruh file akan ditambahkan menghasilkan baris duplikat. Apakah ada cara untuk memperbaikinya? Saya terbuka untuk opsi selain menggunakan netcat, tetapi saya memiliki sedikit pengalaman dengan linux. Tolong perlakukan saya sebagai pemula.

Juga perhatikan, saya tidak bisa menggunakan perintah sortir atau uniq untuk mengubah abcd.txt begitu sampai ke server mendengarkan karena file menjadi sangat besar dan kendala waktu diberlakukan. (Kami kemungkinan akan memiliki file pada akhir pengiriman bergulir setiap 60 detik atau lebih.)

Preston Roy
sumber
Ini mungkin ide seorang Linux yang bisa membantu Anda dengan potensi tetapi dari sisi Windows jika ada perintah (atau layanan) yang harus saya tambahkan ketika saya perlu ditimpa, maka saya akan meletakkan beberapa aturan di sekitar proses dan terutama jika itu otomatis dan melakukan hal-hal kuat [standar] seperti itu. Sekarang jika peristiwa ini dapat dipicu berkali-kali dalam satu detik maka Anda mungkin harus keluar dari aturan dan membuatnya lebih kompleks. Saya berasumsi keterbatasan netcat dan metode Anda menggunakannya adalah apa masalahnya jadi itu adalah pikiran cepat saya ketika halaman manual mengatakan apa-apa tentang menimpa params, dll.
Pimp Juice IT
Lihat apakah pengirimnya mungkin dikirim abc.txt ke pendengar dan kemudian menghapus abc.txt setelah itu mengkonfirmasi pendengar diterima, dll. Pendengar menempatkan abc.txt data yang baru saja didapatnya dari pengirim ke /home/temp.txt sebagai gantinya (mungkin menempatkan logika if temp.txt exist del temp.txt atau tambahkan a <YYYYMMDD_hhmmsst> cap waktu ke nama file temp sehingga masing-masing memiliki nama yang unik). Kemudian dihapus /home/abc.txt jika ada dan kemudian berganti nama /home/temp.txt untuk /home/abc.txt atau membuat file baru dengan konten file temp atau bagaimanapun Anda akan menangani ini dengan Linux. Hanya gagasan cepat.
Pimp Juice IT