У мене є два сервери ubuntu, і я використовую скрипт (хоча я його ще не написав) на сервері, що надсилає, щоб надсилати файл abcd.txt кожного разу, коли він змінюється, використовуючи:
nc 10.10.10.4 3333 < abcd.txt
На сервері прослуховування я використовую опцію -k, щоб постійно слухати:
nc -k -l 3333 > /home/abcd.txt
Моя мета - щоб файл на сервері прослуховування перезаписувався кожного разу, коли сервер, що відправляє, надсилає файл. Цього не відбувається. Натомість весь файл додається, що призводить до дублювання рядків. Чи є спосіб це виправити? Я відкритий для варіантів, ніж для використання netcat, але у мене дуже мало досвіду роботи з Linux. Будь ласка, ставтесь до мене як до новачка.
Також зауважте, я не можу використовувати команду sort або uniq для зміни abcd.txt, як тільки він потрапляє на сервер прослуховування, оскільки файли надзвичайно великі і обмеження в часі накладаються. (Ми, ймовірно, буде мати файл, що надсилається в кінці кожні 60 секунд.)
abc.txtслухачеві, а потім видаляє, abc.txtяк тільки він підтвердить отриманий слухач тощо. Слухач замість цього abc.txtотримав дані, отримані від відправника /home/temp.txt(можливо, поставив логіку if temp.txt exist del temp.txtабо додав позначку <YYYYMMDD_hhmmsst>часу до тимчасового файлу ім'я, тому кожен має унікальне ім'я). Потім він видаляє, /home/abc.txtякщо він існує, а потім перейменовує /home/temp.txtу /home/abc.txtабо створює новий файл із вмістом файлу temp, але ви б обробляли це з Linux. Тільки швидкі ідеї.