기본 콘텐츠로 건너뛰기

추천 가젯

리눅스 홈서버 알림용 텔레그램 봇(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...

윈도우 wsl2에서 cifs 외부 마운트가 안되는 상황의 해결법.

 /mnt 폴더를 보면 /mnt/c라고 c드라이브가 마운트가 되어 있다. 


mount 명령을 넣으면 다음 결과가 나온다. 


마이크로소프트에서 호스트컴퓨터와 데이터 통신을 할 수 있도록 공간을 열어 두었다. 

wsl과 도커까지 연동이 되는 상황이라 이게 보안에 있어 좋지 않을 수도 있지만, 연결이 되는 것이 중요합니다. 

windows에서는 폴더 정리를 위해서 1. xxx 2. yyyy 3. zzzz 식으로 폴더를 정리를 해놓고나서,

10개가 넘어가는 순간 01. xxxx로 바꾸기 위해서는 상당히 머리가 아프다, powershell 쓴다고 해서, 윈도우가 perl을 기본으로 깔아주지도 않기 때문에, rename.pl이라는 위대한 도구를 사용할 수 없다. 

그래서 생각한 것이, wsl을 사용하여 파일이름을 바꾸는 게 어떻가 하는 생각이었다.

그런데 문제가, mount.cifs로 nas가 잡히지 않고 계속 에러가 뜨는 것이었다. 웹에 나온방법을 다 뒤져도 안되길래 찾아보니, 드라이브 패쓰를 그대로 마운트 하는 방법이 있다고 하더라
(교정을 bing chat으로 시켰더니, 보안에 안좋으니, 다시 mount.cifs 쓰라는데 안되는데 어카라는겨...   교정하다말고 왜 다시 정보를 주는건지.)

뭐 결국은 이 방법을 써서, nas를 마운트한 Z:\와 y:\를 연결해서 작업을 했다. 

bash는 자신 있으니, bash를 쓰는 그냥 rename.pl을 쓰던간에 이제 저 일을 난 할 수 있다.  


댓글