본문 바로가기
IoT

EW11 자동 리셋 설정하기 (crontab / expect)

by ㅋㅋ잠자 2021. 3. 28.
반응형

안녕하세요? 근래 잘 쓰고 있다가 EW11 이 먹통이 되었습니다. 

근 9개월 만에 먹통이 되었네요.

 

그래서 아무래도 자동 리셋이 필요할 것 같아서 하기와 같이 스크립트를 작성하다가 실패하여, autoexpect 로 일단은 자동 작성 후에 crontab 에 등록하였습니다.

 

1. autoexpect 사용

root@debian:/opt/kocom# autoexpect telnet 192.168.0.60 23
autoexpect started, file is script.exp
Trying 192.168.0.60...
Connected to 192.168.0.60.
Escape character is '^]'.
login:admin
password:
EPORT>Restart
Restart..
Connection closed by foreign host.
autoexpect done, file is script.exp

그러면 동일 위치에 script.exp 가 남습니다. 이 부분을 그냥 실행만 해주면 실행이 되는 것입니다.

root@debian:/opt/kocom# ./script.exp
spawn telnet 192.168.0.60 23
Trying 192.168.0.60...
Connected to 192.168.0.60.
Escape character is '^]'.
login:admin
password:
EPORT>Restart
Restart..

2. crontab 에 등록

하기와 같이 등록합니다.

root@debian:/opt/kocom# crontab -e

0 0 * * * su root -c "/opt/kocom/script.exp" 

3. 스크립트 생성 (공부 목적)

spawn 과 expect 를 사용하는 부분인데 하기와 작성해서는 작동이 안되었습니다.

차후에 정확하게 사용하는 방법을 알고 다시 한번 글을 작성해야겠네요 ㅎㅎ

root@debian:/opt/kocom# cat ew11_reset.sh
#!/bin/bash

IPADDR=192.168.0.60
PORT=23
USER=admin
PASS=admin

expect << EOF
set timeout 20
set host $IPADDR
set port $PORT
set user $USER
set pass $PASS
spawn telnet $host $port
expect "login:"
send "$user\r"
expect "password:"
send "$pass\r"
expect "EPORT>"
send "Restart\r"
expect "Restart.."
EOF

4. EW11 텔넷 설정

하기와 같이 진행하시면 됩니다.

 

감사합니다.

반응형

댓글