기본 콘텐츠로 건너뛰기

추천 가젯

리눅스 홈서버 알림용 텔레그램 봇(Telegram Bot) 연동 및 쉘 스크립트 구축 가이드

개인 홈서버를 운영하다 보면 백업 완료 여부나 시스템 에러 같은 단방향 알림을 스마트폰으로 빠르게 받아보고 싶어집니다. 외부 메일 서버나 복잡한 SMTP 설정을 거치지 않고, 가장 확실하고 가볍게 쓸 수 있는 텔레그램 봇을 이용한 홈서버 알림 구축 방법 을 정리합니다. 1단계: 텔레그램 봇 생성하기 (BotFather) 텔레그램 앱을 켜고 상단 검색창에 BotFather 를 검색하여 공식 봇(파란색 체크마크 확인)을 엽니다. 대화창에 아래 명령어를 입력하여 새로운 봇을 만듭니다. Plaintext /newbot 봇의 이름(Name)을 입력합니다. (예: My Home Server Bot ) 봇의 아이디(Username)를 입력합니다. (반드시 영문이며 끝에 bot 또는 _bot 으로 끝나야 합니다. 예: my_home_backup_bot ) 생성이 완료되면 HTTP API 토큰(Token)이 발급됩니다. 이 토큰을 안전하게 보관합니다. 2단계: 내 Chat ID(채팅방 고유 번호) 확인하기 텔레그램은 보안상 사용자가 먼저 봇에게 말을 걸어야 메시지를 받을 수 있으며, 봇이 나에게 메시지를 보내려면 고유 Chat ID 가 필요합니다. 텔레그램 검색창에 userinfobot 을 검색하여 들어갑니다. 하단의 [시작하기] 버튼을 누르면 내 계정의 정보와 함께 Id (숫자) 값을 알려줍니다. 이 숫자를 복사해 둡니다. [중요] 1단계에서 만든 내 봇의 아이디(예: @my_home_backup_bot )를 검색해서 대화창을 열고, [시작] 버튼을 누르거나 아무 메시지나 먼저 한 번 전송해 둡니다. 3단계: 리눅스 쉘 스크립트 작성 및 테스트 서버(터미널)에서 환경변수를 설정하고 curl 명령어를 통해 테스트 메시지를 보낼 수 있습니다. 특히 인자값이 없을 때를 대비해 기본값 처리를 해두면 유용합니다. 아래 내용을 포함하는 쉘 스크립트 파일(예: send_telegram.sh )을 작성합니다. Bash #!/bin/bash # 환경변수 설정 (실제 토큰과 C...

마이폰 LG G4 누가 업데이트 완료!!! 비공개 숨은 기능을 확인하였습니다. WOW입니다.



G4의 누가 업데이트를 해줄지 말지 가지고 언론플레이 하는 소식까지 듣고

그쪽에 관심을 끊어서 최근에야 제 G4를 누가로 올렸습니다.



지난주 까지도 USB Ethernet 장치로 Ethernet을 rooting없이 써보려고 별짓을 다했는데, 보안이 너무 철저해서 제조사에서 제공하지 않는 기능은 사용이 불가능하더군요... 

adb부터 다 막혀있는데, 답답해서 죽는 줄 알았습니다.

그런데 겸사겸사 혹시나 하는 마음에 검색을 해봐도 누가로 올려도 된다는 공식적인 이야기도 없고 비공식적인 리뷰도 없고 후기도 없고 그러한 상황이지만, 데스크탑에서 쓰고 있는 쿠분투도 많은 헛짓거리를 해야하지만 최신 버전으로 올리는 사람이라 올리기로 결정했습니다.


그런데!! 윈도우나 맥이 없으면 업데이트가 불가능한 상황이라 VirtualBox를 사용해서 가상화를 하고 usb를 guest os로 forwarding 해서 시도하려고 했는데, MTP장치는 폰이 주도적으로 자기 정보를 조작하는 방식이다보니 가상화를 지원해주지 않아 전혀 잡히지가 않더군요. (잡혀도 벽돌이 되기 싫으면 절대로 따라하시면 ... )


결국은 집에 가서 거실컴을 가지고 올렸습니다. 역시 윈도우의 드라이버 삽질을 보면서 눈물좀 흘리고 결국은 성공을 했습니다.

와 이거 너무 좋은데 라는 생각을 하며, 설정부터 모든 기능을 뒤졌지만 Ethernet과 관련된 메뉴가 없어서 반포기 상대로 있었으나,

학교에 와서 핸드폰을 3usb+gigabit인 장치에 연결을 하니 좋은 징조가 보입니다. 그것은
저 위에 안테나 신호 막대옆에 있는 <--->표시 입니다.  처음에는 USB 장치를 연결해서 뜨나보다라고 생각을 했고, 혹시 숨은 기능이 생길까 하는 마음에 다시 설정을 뒤졌으나, 전혀 Ethernet 장치를 컨트롤하는 기능은 없었습니다만,

혹시나 하는 마음에 LTE네트워크와 WiFi네트워크를 끈 상태에서 크롬을 사용해보니 크롬이 아주 잘 사용 되는 군요. 

벤치비라는 어플로 속도측정을 했는데, ping은 대략 3ms로 아주 낮고, 속도는 반복해서 네트워크가 바뀐다면서 결과값을 안줘서 다른 방법을 사용했습니다. 

폰에 있는 SD카드로 파일 복사하는데 14MB/s - 22MB/s 정도의 속도가 나오는데,  쓰기속도의 문제인가 해서 내장메모리로 

복사를 해보니 20MB/s의 평균으로 일정하게 나옵니다. SD카드 쓰기속도는 매우 구리지만 캐싱을 하면서 받는걸로 생각하면 대략 다운로드 속도는 20MB/s정도 나오는군요, USB 2.0 대역폭(g4 스펙이 그래요) 480Mbit/s에서 오버헤드까지 처서 대략 한 40MB/s를 기대했는데, 일단 USB 대역폭에서 업로드 채널과 다운로드 채널을 동시에 잡아놓고, 하는건지 업로드 다운로드 모두 20MB/s정도로 만족을 해야할 것 같습니다. 


네 ip주소 잡는 기능이 없으므로 static ip로는 ethernet이 불가능 합니다. 하지만, 라우터가 ip를 부여하는 시스템에서는 안정적인 핑으로 160Mbits/s정도의 네트워크를 사용할 수 있게 되었습니다. 

핸드폰에 파일 넣고 빼는게 일인데, 내장메모리는 큰 파일을 받을 여력이 없는 것이 보통이지요, 그러면 결국은 외장메모리 micro sd카드에 집어넣게 되는데  ufs-1을 지원해주는 고속 메모리 카드들은 보통 두배에 가격이다보니 mtp로 연결하나 이렇게 사용하나 별 반차이가 없을 겁니다. 

여러 활용법을 말하고 싶은데, 충전포트를 겸하고 있는데다가 usb 3.0에 있는 수 많은 alt모드들 때문에 큰 변화는 겪기 어렵군요...

그냥 파일 복사할 때 편해진 것 말고는 없습니다. 근데 이 것만 해도 감사하네요... 


올해 3월에 LG 고객센터앱으로 다음 업데이트 때 해달라고 한 내용이 이루어진 것 같아서 기쁩니다. 물론 답은 매크로 답이였던가, 담당이 아니라는 말이었던 것 같아서 제 요청의 결과는 아니 겠지만, 어쨌든, 좋군요. 

댓글