
내 전화 시스템(fritzbox 7170)은 텔넷에서 로그 데이터를 출력하며 이를 시작하고 crontab
, 모든 데이터를 캡처하고, 로그 파일에 들어오는 모든 내용을 지연 없이 기록하려면 어떤 형태의 스크립트가 필요합니다.
또한 전화가 끊어지지 않도록 가능한 한 빨리(몇 초 내에) 다시 연결해야 하므로 연결이 끊긴 것을 감지할 수 있어야 합니다.
로그 파일은 회선을 모니터링하고, 모든 통화에 대한 이메일 알림을 보내고, 내 웹사이트에서 회선 상태를 변경하는 등의 작업에 사용됩니다. 지금은 Windows에서는 작동하지만 Debian 상자(RaspberryPi)에서는 작동하지 않습니다.
Windows에서는 다음과 같습니다. (10분마다 실행)
taskkill /f /im telnet.exe
copy /B log.old+log.txt log.old
sleep 1
del log.txt /f
telnet.exe -flog.txt fritz.box 1012
답변1
좋아요, 상자에서 로그를 얻으려면 아마도 다음을 수행해야 할 것입니다.
netcat fritz.box 1012 >> log.txt
배포판의 이름은 netcat 프로그램으로 지정될 수 있습니다 nc
.
위에 게시한 Windows 스크립트는 모든 텔넷 인스턴스를 종료하므로 잘못된 것입니다. 그리고 수행하는 작업은 log.txt를 log.old에 추가하는 것뿐이므로 불필요합니다.
로그의 최신 부분을 원하면 간단히 를 실행하세요 tail -100 log.txt
.