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.)
sumber
abc.txt
ke pendengar dan kemudian menghapusabc.txt
setelah itu mengkonfirmasi pendengar diterima, dll. Pendengar menempatkanabc.txt
data yang baru saja didapatnya dari pengirim ke/home/temp.txt
sebagai gantinya (mungkin menempatkan logikaif 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.