티스토리 뷰

[Python] Telegram Bot을 이용한 백업결과 전송


import telegram
import subprocess



my_token = '(BOT 토큰입력)'



bot = telegram.Bot(token = my_token)



updates = bot.getUpdates()





chat_id = '(Bot chat_id 입력)'



cmd = 'fgrep -A500 "Complete...$(date \'+%Y.%m.%d\')" /home/Backup/Backup.log'



result = subprocess.check_output(cmd, shell=True)

bot.sendMessage(chat_id=chat_id, text=result)


정말 간단하게 짰다.. 심지어 예외처리도 안함 귀찮 ㅠ.. ㅎㅎ 텔레그램 봇에 백업 결과를 전송하는 스크립트로 아래처럼 매일 백업결과 로그(Backup.log)를 Telegram Bot에 전송해 관리자에게 알려준다. !!단 실행을 위해서는 Telegram API가 설치되어 있어야 한다.


Start...

Complete...2018.06.19_03:04

[2018-06-19] Not Backuped Switch List. Check!!

Total 116 Switch Backuped.

AZ-32-11

AB-53-04

ZS-11-15B



1. 텔레그램 봇을 생성한다. ( 구글링 참조 )

1. 텔레그램에서 botfather 검색

2. botfather와 대화를 시작!

3. /newbot 으로 새로운 봇 생성

4. 봇이름 지정( ex) test_bot )

5. 봇 username 지정 ( ex) lim_test_bot )

6. 생성되는 token을 확인한다. ( my_token에 들어갈 항목 )

7. chat_id 확인 ( https://api.telegram.org/bot<토큰입력>/getUpdates ) 을 URL에 입력

{"ok":true,"result":[{"update_id":87654321,
"message":{"message_id":3,"from":{"id":12345678,"first_name":"\uc774\ucda9\ud638"....................

반환되는 라인중, 12345678 <-- 이게 chat_id 이다.


2. Telegram API를 설치한다.

1. pip install python-telegram-bot --upgrade


3. 위 스크립트를 AlertTelegram.py라고 한다면, cron에 등록한다. (아래는 매일 오전 8시에 알람발생 예시)

ex) 00 8 * * * /home/Backup/TelegramAlert/AlertTelegram.py 2>& /dev/null 



결과 확인~

3. Telegram Alert 이전에 백업 스크립트 작성하기

1. 2017/12/14 - [Programming/JAVA] - [JAVA] Switch Config Backup Program

2. 2018/06/19 - [Programming/Shell Script] - [Shell Script] Backup Shell Script

댓글