Як перезаписати цільовий файл з netcat на відміну від додавання?


1

У мене є два сервери 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 секунд.)


Це може бути ідея, яку хлопець з Linux може допомогти вам, але з боку Windows, якщо є команда (або служба), я повинен використовувати те, що додається, коли мені потрібно перезаписати, то я ставлю деякі правила навколо процесу, особливо якщо це автоматизовано і робити якісь [стандартні] такі сильні речі. Тепер, якщо ці події можуть бути запущені багато разів протягом секунди, можливо, вам доведеться масштабувати правила і зробити це складнішим. Я припускаю, що обмеження netcat і ваш метод його використання - це проблема, тому це мої швидкі думки, коли сторінка man нічого не сказала про перезапис парам тощо.
Pimp Juice IT

Подивіться, чи можна відправника відправити 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. Тільки швидкі ідеї.
Pimp Juice IT
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.