스크립트를 작성하여 주기적으로 공인 IP 주소를 확인하고, 변경이 감지되면 이메일을 발송하는 방법입니다.
1. ssmtp 설치
sudo apt update
sudo apt install ssmtp
ssmtp 설정
/etc/ssmtp/ssmtp.conf 파일을 편집합니다.
sudo nano /etc/ssmtp/ssmtp.conf
다음과 같이 설정합니다 (예시는 Gmail을 사용한 설정입니다):
/* 구글에서 앱 비밀번호를 만들어야함 참고 :https://support.google.com/accounts/answer/185833?hl=ko 에서 앱 비밀번호를 만들고 관리합니다 클릭 */
root=your_email@gmail.com
mailhub=smtp.gmail.com:587
AuthUser=your_email@gmail.com
AuthPass=your_email_password
UseSTARTTLS=YES
스크립트 작성 (check_ip_ssmtp.sh)
/* 코드 시작 */
#!/bin/bash
# 파일 위치 설정
IP_FILE="/path/to/last_ip.txt"
EMAIL="your_email@gmail.com"
# 현재 공인 IP 주소 확인
CURRENT_IP=$(curl -s http://ipinfo.io/ip)
# 마지막으로 확인한 IP 주소 불러오기
if [ -f "$IP_FILE" ]; then
LAST_IP=$(cat "$IP_FILE")
else
LAST_IP=""
fi
# IP 주소가 변경되었는지 확인
if [ "$CURRENT_IP" != "$LAST_IP" ]; then
# 변경되었으면 새 IP 주소 저장
echo "$CURRENT_IP" > "$IP_FILE"
# 이메일 알림 보내기
echo -e "Subject: IP Address Changed\n\nNew IP Address: $CURRENT_IP" | ssmtp "$EMAIL"
fi
/* 코드 종료 */
테스트 메일을 보내보세요.
echo -e "Subject: IP Address Changed\n\nNew IP Address: test" | ssmtp -v "your_email@example.com"
2. 스크립트에 실행 권한 부여
스크립트를 실행할 수 있도록 실행 권한을 부여합니다.
chmod +x /path/to/check_ip.sh
3. 크론 잡 설정
이 스크립트가 주기적으로 실행되도록 크론 잡(cron job)을 설정합니다. 예를 들어, 5분마다 실행되도록 설정할 수 있습니다.
crontab -e
다음 줄을 추가하여 5분마다 스크립트를 실행합니다:
*/5 * * * * /path/to/check_ip.sh
4. 결과
스크립트가 설정된 대로 작동하는지 확인합니다. IP 주소가 변경되면 설정한 이메일로 알림이 전송됩니다.
이 방법을 통해 서버의 공인 IP 주소가 변경될 때마다 이메일 알림을 받을 수 있습니다. 스크립트의 정확한 경로와 이메일 주소 등을 자신의 환경에 맞게 조정하여 사용하세요.
'학습 > 시스템' 카테고리의 다른 글
kubernetes 클러스터 (0) | 2024.06.23 |
---|---|
리눅스 우분투 GUI 모드와 CLI 모드 간의 수동 전환 (0) | 2024.06.21 |
우분투 cli와 gui 모드 스위칭 (0) | 2024.06.20 |
윈도우에서 우분투 설치 준비 방법부터 윈도우 삭제 및 우분투 설치까지 (0) | 2024.06.20 |
레드햇 기반 리눅스에서 특정 서비스 로그를 확인하는 방법 : journalctl (0) | 2024.05.24 |