Mam dwa serwery Ubuntu i będę używać skryptu (chociaż go jeszcze nie napisałem) na serwerze wysyłającym, aby wysyłać plik abcd.txt za każdym razem, gdy zmienia się przy użyciu:
nc 10.10.10.4 3333 < abcd.txt
Na serwerze nasłuchującym używam opcji -k, aby stale nasłuchiwał:
nc -k -l 3333 > /home/abcd.txt
Moim celem jest nadpisanie pliku na serwerze nasłuchującym za każdym razem, gdy serwer wysyłający wysyła plik. To się nie dzieje. Zamiast tego dołączany jest cały plik, w wyniku czego powstają powielone linie. Czy istnieje sposób, aby to naprawić? Jestem otwarty na opcje niż przy użyciu netcata, ale mam bardzo małe doświadczenie z Linuksem. Traktuj mnie jak początkującego.
Zauważ też, że nie mogę użyć polecenia sort ani uniq, aby zmienić plik abcd.txt, gdy dotrze on do serwera nasłuchującego, ponieważ pliki są bardzo duże i narzucone są ograniczenia czasowe. (Prawdopodobnie plik po stronie wysyłającej będzie się pojawiał co 60 sekund).
abc.txtdo nasłuchiwacza, a następnie usuwa, abc.txtgdy potwierdzi otrzymanie nasłuchu itp. Słuchacz umieszcza zamiast tego abc.txtdane, które właśnie otrzymał od nadawcy /home/temp.txt(może wstawić logikę if temp.txt exist del temp.txtlub dołączyć <YYYYMMDD_hhmmsst>znacznik czasu do pliku tymczasowego nazwa, więc każda ma unikalną nazwę). Następnie usuwa /home/abc.txtjeśli istnieje, a następnie zmienia nazwę /home/temp.txtna /home/abc.txtlub tworzy nowy plik o zawartości pliku tymczasowego lub jakkolwiek byś sobie z tym poradzić z Linuksem. Tylko szybkie pomysły.