전화 시스템에 연결하려면 텔넷이 필요하지만 전체 클라이언트 모드는 아님

전화 시스템에 연결하려면 텔넷이 필요하지만 전체 클라이언트 모드는 아님

내 전화 시스템(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.

관련 정보