← 전체 목록
서버백업운영

월간 서버 점검 체크리스트로 장애를 미리 막고 운영 안정성을 높입니다

ℹ️ 본 글은 정보 제공 목적이며, 광고·제휴 링크가 포함될 수 있습니다.

월간 서버 점검 체크리스트를 만든 건 인증서 만료 3일 전에야 알림이 와서 급하게 갱신했던 일이 있고 나서입니다. 그 전까지는 문제가 생기면 대응하는 방식이었는데, 체계적인 월간 점검 루틴을 만든 후로는 디스크 80% 경고, 백업 파일 0바이트 이슈, cron 미실행 등을 미리 발견하게 됐습니다.

디스크 및 메모리 점검

# 디스크 사용량
df -h
du -sh /var/log/nginx/
du -sh /var/lib/mysql/
du -sh /var/www/html/wp-content/uploads/

# 메모리 사용량
free -h
vmstat 1 5

# 큰 파일 찾기 (500MB 이상)
find / -type f -size +500M -not -path "/proc/*" 2>/dev/null

보안 및 인증서 점검

# SSL 인증서 만료일 확인
echo | openssl s_client -servername 병원사이트.com -connect 병원사이트.com:443 2>/dev/null | \
    openssl x509 -noout -dates

# Let's Encrypt 인증서 상태
sudo certbot certificates

# 보안 업데이트 가능한 패키지
sudo apt list --upgradable 2>/dev/null | grep -i security

# 로그인 실패 시도 확인 (지난 30일)
sudo grep "Failed password" /var/log/auth.log | wc -l
sudo grep "Failed password" /var/log/auth.log | awk '{print $11}' | sort | uniq -c | sort -rn | head -5

백업 및 서비스 상태 점검

# 최근 백업 파일 확인
ls -lh /var/backups/mysql/ | tail -10

# 백업 파일 무결성
for f in /var/backups/mysql/*.sql.gz; do
    gzip -t "$f" 2>/dev/null && echo "OK: $f" || echo "FAIL: $f"
done

# 서비스 상태 일괄 확인
sudo systemctl status nginx php8.1-fpm mysql fail2ban | grep -E "(Active|●)"

# cron 마지막 실행 확인
grep CRON /var/log/syslog | grep "db-backup" | tail -5

워드프레스 점검

# 워드프레스 업데이트 가능 여부 (WP-CLI)
wp core check-update --allow-root
wp plugin list --update=available --allow-root
wp theme list --update=available --allow-root

# 관리자 계정 목록 확인 (불필요한 계정 없는지)
wp user list --role=administrator --allow-root

이 체크리스트를 매월 1일 실행하는 cron으로 등록하고, 결과를 이메일로 받아보면 수동 접속 없이도 서버 상태를 파악할 수 있습니다. 점검 자동화의 목표는 문제를 사용자보다 내가 먼저 발견하는 것입니다.

편집 정책

AI가 초안을 생성하고, 의료기관 인프라 운영자가 1차 데이터 기반으로 최종 검수·승인합니다.

작성·검수: WavePix 운영자 (의료기관 3곳 인프라 전담)