우분투 서버 부팅 시 텔레그램으로 IP 전송 받기
MAC 어드레스 변경 테스트를 할려고 했는데 변경 된 IP를 어떻게 알지라는 생각에 찾아보다가
정리를 해봅니다.
우선 텔레그램 봇에 대한 정보를 알고 있어야 합니다.
그리고 찾아보다 정리 한 글이라서 좀 더 편한 방법이 있다면 그 방식대로 해도 될 듯합니다. ㅎ.
우선 텔레그램 메시지를 보낼 스크립트 파일을 편집합니다. 없으면 저장 시 생성되니 바로..
sudo nano /etc/init.d/telbot.sh
해당 파일에 아래와 같은 코드를 넣어줬습니다.
#!/bin/bash
TELEGRAM_TOKEN="987654321:ABCDEFGHIJKLMNopqrstUVWXYZ123456789"
CHAT_ID=""
HOSTNAME=`hostname`
IP=`hostname -I | cut -f 1 -d ' ' `
MESSAGE="--${HOSTNAME}-- SERVER IP: ${IP}"
curl -s -X POST "https://api.telegram.org/bot$TELEGRAM_TOKEN/sendMessage" -d chat_id="$CHAT_ID" -d text="$MESSAGE" > /dev/null 2>&1
토큰 값은 사용자 봇의 토큰 값이며 chat id 역시 봇의 체팅 값을 넣어주면 되더군요.
저장을 하고 퍼미션을 설정을 해 줬습니다.
sudo chmod 755 /etc/init.d/telbot.sh
이제 잘 저장되어져 있나 확인 한 후 테스트 실행을 해봅니다.
sh /etc/init.d/telbot.sh
정상적으로 텔레그램을 받을 수 있었습니다.
그러면 이제 원하는 것은 부팅 시 제 텔레그램에 전송만 하면 됩니다. 그러기 위해서 crontab에 등록 하라고 하더군요.
몇 개의 글을 읽고 테스트를 해봤는데 이게 가장 간단하고 편하고.. 좋습니다.
crontab 편집 모드로 들어갑니다.
crontab -e
매번 리부팅 시 스크립트가 실행돼야 하기 때문에 아래와 같이 넣어줍니다. ( 마지막 줄에 넣어 줬습니다. )
@reboot /etc/init.d/telbot.sh
리부팅 시 약간의 문제가 있어서 수정을 합니다. 일반 서버의 경우는 문제가 없는데 데스크탑을 실행 시 전송이
이루어지지 않는 문제가 발생을 하더군요. ( 딜레이를 1분을 넣어서 실행하도록 합니다. )
@reboot sleep 60 && /etc/init.d/telbot.sh
이제 대망의 리부팅 시 오면 됩니다.
sudo reboot
부팅 후 잘 도착 하는군요.. 에휴..
공유기에 물려있어서 사설 IP를 받는 경우에는 사설 IP 값이 나오더군요.. 192.168.0.xxx 로.. ㅎ.
쓸일 없지만.. 혹시나 알고 싶어할 수 있는... 제가 언젠가 필요로한 글 하나 적고 갑니다.
-- 끝 --
== 덧 ==
macchanger 로 맥 어드레스를 변경을 시도하여보았습니다.. 변경되면서 ip도 변경되는가보군요.
리부팅 하면서 변경하지.. ㅠㅠ;;
맥 어드레스 변경하면 리부팅 되도록 스크립트 만들어 놓고 변경했어야 했네요.. ㅎㅎㅎ.
암튼 좋은 경험입니다. .. 망할.. ㅠㅠ;
cmt alert