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).
źródło
abc.txt
do nasłuchiwacza, a następnie usuwa,abc.txt
gdy potwierdzi otrzymanie nasłuchu itp. Słuchacz umieszcza zamiast tegoabc.txt
dane, które właśnie otrzymał od nadawcy/home/temp.txt
(może wstawić logikęif temp.txt exist del temp.txt
lub dołączyć<YYYYMMDD_hhmmsst>
znacznik czasu do pliku tymczasowego nazwa, więc każda ma unikalną nazwę). Następnie usuwa/home/abc.txt
jeśli istnieje, a następnie zmienia nazwę/home/temp.txt
na/home/abc.txt
lub tworzy nowy plik o zawartości pliku tymczasowego lub jakkolwiek byś sobie z tym poradzić z Linuksem. Tylko szybkie pomysły.