저는 현재 Zebra 프린터로 인쇄하는 프로그램을 작성 중입니다. 내 사무실에는 zebra 프린터가 없기 때문에 nc -k -l -p 9100 | tee labels.txt
프린터의 출력을 보고 정확성을 확인할 수 있도록 netcat을 실행하는 Linux VM으로 인쇄합니다.
불행하게도 이 파일은 매우 커졌고 가상 머신에서 많은 공간을 차지했습니다. 특히 아무도 파일을 지우는 것을 기억하지 못했기 때문입니다.
를 사용하는 것은 tee
파일에 쓰기에 좋은 옵션인 것 같지만, 내가 원하는 방식으로 작동하지 않습니다. label.txt
덮어쓰기가 시작되는 특정 크기(예: 20MB)까지만 커지기를 원합니다 . 아니면 label.txt
로 이름을 바꾸고 label.txt.1
label.txt가 커지도록 허용한 다음 덮어쓸 수도 있습니다 label.txt.1
.
netcat
/do this를 사용할 수 있는 방법이 있나요 tee
? 아니면 다른 프로그램을 알아봐야 할까요?
답변1
netcat
tee
귀하의 질문에 대답하자면, 이를 달성할 수 있는 기능이 없습니다 .
매분 실행되어 크기를 확인 label.txt
하고 20MB에 도달하면 처음 10MB를 지우는 cron 작업을 작성할 수도 있습니다.
답변2
원하는 결과를 얻으려면 여러 단계를 거쳐야 합니다.
먼저 nc -k -l -p 9100 | tee labels.txt
스크립트를 삽입하고 SIGHUP
명령을 다시 시작하는 핸들러를 추가해야 합니다.
logrotate
다음으로 순환 로그를 설정해야 합니다 .