Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- c3 step graph
- c++ 정규식
- python os
- semanage
- 정규식 활용
- gcc 업데이트
- snmp
- 정규식 문자열 출력
- gcc regex
- grafana dashboard
- 1697
- python subprocess
- python popen
- snmp test
- regex_search
- c3 second
- CentOS7
- telegraf
- linux시간으로 변경
- InfluxDB
- g++ 업데이트
- c3 초
- c3 축 가리기
- centos pyhon 설치
- influxdb 설치
- 정규식 컴파일
- selinux port 등록
- subporcess path
- c3 축 없애기
- 백준
Archives
- Today
- Total
리셋 되지 말자
[CentOS] smartd에서 mail, mailx 사용해 메일 보내기 - 2 본문
smartmontools 설치
# yum -y install smartmontools
smartctl 명령어로 disk가 인식되는지 확인
# smartctl --scan
/dev/sda -d scsi # /dev/sda, SCSI device
/dev/sdb -d scsi # /dev/sdb, SCSI device
/dev/sdc -d scsi # /dev/sdc, SCSI device
/dev/sdd -d scsi # /dev/sdd, SCSI device
/dev/sde -d scsi # /dev/sde, SCSI device
/dev/sdf -d scsi # /dev/sdf, SCSI device
/dev/sdg -d scsi # /dev/sdg, SCSI device
/dev/sdh -d scsi # /dev/sdh, SCSI device
/dev/sdi -d scsi # /dev/sdi, SCSI device
/dev/sdj -d scsi # /dev/sdj, SCSI device
/dev/sdk -d scsi # /dev/sdk, SCSI device
여기부터가 중요
smartmontool을 daemon으로 시작하면, /etc/smartmontools/smartd.conf
설정 파일을 기반으로 실행된다.
- smartd.conf 파일 내용 (하단의 주석처리된 부분을 살펴보면 다양한 옵션 예제를 확인할 수 있다.)
DEVICESCAN -H -m root -M exec /usr/libexec/smartmontools/smartdnotify -n standby,10,q
저 줄만 주석처리가 안되어 있는걸 확인할 수 있다. 대충 해석해보면
1. DEVICESCAN
을 지정하면 전체 디스크를 모니터링 한다. ( /dev/sda
식으로 특정 디스크 지정 가능)
2. -H
옵션으로 디스크의 Health 체크를 한다.
3. -m
옵션은 mail을 보낼 계정(?)을 지정한다.
4. -M
옵션은 다양한 옵션이 있는데, 뒤에 exec 가 오면 해당 파일을 실행한다는 것이다.
- smartnotify 파일 내용
# cat /usr/libexec/smartmontools/smartdnotify
#! /bin/sh
# Send mail
echo "$SMARTD_MESSAGE" | mail -s "$SMARTD_FAILTYPE" "$SMARTD_ADDRESS"
# Notify desktop user
MESSAGE="SMART Disk monitor:"
case "$SMARTD_FAILTYPE" in
"EmailTest"|"Health"|"Temperature"|"Usage")
;;
*)
# "CurrentPendingSector", // 10
# "OfflineUncorrectableSector", // 11
# "FailedReadSmartErrorLog", // 7
# "ErrorCount", // 4
# "FailedReadSmartData", // 6
# "FailedHealthCheck", // 5
# "FailedOpenDevice", // 9
# "SelfTest", // 3
# "FailedReadSmartSelfTestLog", // 8
exit 0
esac
# direct write to terminals, do not use 'wall', because we don't want its ugly header
for t in $(who | awk '{ print $2; }' | grep -e '^tty' -e '^pts/')
do
echo "$MESSAGE
$SMARTD_MESSAGE" >/dev/$t 2>/dev/null ||:
done
상단에 Send mail을 보면 이전 게시물에서 mail 보내는 명령과 비슷한걸 볼 수 있다. ( -v
옵션 차이)
[root@server vagrant]# echo "vagrant-mail content" | mail -v -s "vagrant-maile subject" kimkyeongjun273@gmail.com
- smartnotify 파일 수정
#! /bin/sh
# Send mail
echo "$SMARTD_MESSAGE" | mail -v -s "$SMARTD_FAILTYPE" "$SMARTD_ADDRESS"
- smartd.conf 파일 수정
DEVICESCAN -M test -m kimkyeongjun273@gmail.com -M exec /usr/libexec/smartmontools/smartdnotify -n standby,10,q
앞에 -H
를 제거하고, -M test
를 추가해서 test를 진행한다. -m
옵션 뒤에는 root가 아닌 메일을 보낼 계정을 지정한다.
- smartd 재시작 or 시작
# systemctl restart smartd
- 메일 수신 확인
디스크가 11개라서 11개의 메일이 도착한걸 확인할 수 있다.
'Linux Tips' 카테고리의 다른 글
ip가 안될때(?) (0) | 2021.08.26 |
---|---|
[CentOS7] root 패스워드 변경 (0) | 2021.08.04 |
[CentOS] smartd에서 mail, mailx 사용해 메일 보내기 - 1 (1) | 2021.07.22 |
[Alpine] 타임존 변경하기 (0) | 2021.06.18 |
[Linux] sudo echo permission denied (0) | 2021.06.11 |
Comments