У мене є два сервери 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. Тільки швидкі ідеї.