netcat을 사용하여 파일에 쓰는 방법은 무엇입니까? 그리고 특정 크기로 자라서 스스로 덮기 시작하도록 설정하시겠습니까?

netcat을 사용하여 파일에 쓰는 방법은 무엇입니까? 그리고 특정 크기로 자라서 스스로 덮기 시작하도록 설정하시겠습니까?

저는 현재 Zebra 프린터로 인쇄하는 프로그램을 작성 중입니다. 내 사무실에는 zebra 프린터가 없기 때문에 nc -k -l -p 9100 | tee labels.txt프린터의 출력을 보고 정확성을 확인할 수 있도록 netcat을 실행하는 Linux VM으로 인쇄합니다.

불행하게도 이 파일은 매우 커졌고 가상 머신에서 많은 공간을 차지했습니다. 특히 아무도 파일을 지우는 것을 기억하지 못했기 때문입니다.

를 사용하는 것은 tee파일에 쓰기에 좋은 옵션인 것 같지만, 내가 원하는 방식으로 작동하지 않습니다. label.txt덮어쓰기가 시작되는 특정 크기(예: 20MB)까지만 커지기를 원합니다 . 아니면 label.txt로 이름을 바꾸고 label.txt.1label.txt가 커지도록 허용한 다음 덮어쓸 수도 있습니다 label.txt.1.

netcat/do this를 사용할 수 있는 방법이 있나요 tee? 아니면 다른 프로그램을 알아봐야 할까요?

답변1

netcattee귀하의 질문에 대답하자면, 이를 달성할 수 있는 기능이 없습니다 .

매분 실행되어 크기를 확인 label.txt하고 20MB에 도달하면 처음 10MB를 지우는 cron 작업을 작성할 수도 있습니다.

답변2

원하는 결과를 얻으려면 여러 단계를 거쳐야 합니다.

먼저 nc -k -l -p 9100 | tee labels.txt스크립트를 삽입하고 SIGHUP명령을 다시 시작하는 핸들러를 추가해야 합니다.

logrotate다음으로 순환 로그를 설정해야 합니다 .

관련 정보