데이터베이스 (Database):
웹사이트 파일 (Website Files):
/wp-content/uploads)서버 설정 파일 (Configuration Files):
/etc/nginx/conf.d/), PHP, 데이터베이스 등의 설정 파일.mysqldump는 데이터베이스의 스키마(구조)와 데이터를 SQL 문장으로 변환하여 하나의 파일(.sql)로 만들어주는 표준 백업 도구입니다.
기본 명령어:
mysqldump -u [사용자명] -p [데이터베이스명] > [백업파일_이름].sql
mysqldump -u my_app_user -p my_app_db > my_app_db_backup_20251221.sql자동화: 위 명령어를 셸 스크립트(.sh)로 만들고, Cron을 사용하여 매일 새벽과 같이 정해진 시간에 자동으로 실행되도록 예약하는 것이 일반적인 운영 방식입니다.
백업된 .sql 파일을 사용하여 데이터베이스를 특정 시점으로 복원합니다.
기본 명령어:
mysql -u [사용자명] -p [데이터베이스명] < [백업파일_이름].sql
mysql -u my_app_user -p my_app_db < my_app_db_backup_20251221.sql중요: 복원 작업은 현재 데이터베이스를 백업 파일의 내용으로 덮어쓰므로, 매우 신중하게 실행해야 합니다.
tar나 zip과 같은 압축 명령어를 사용하여 백업하는 것이 일반적입니다.tar는 여러 파일과 디렉토리를 하나의 파일로 묶고, 압축하는 리눅스의 표준 도구입니다.
기본 명령어:
# c: 생성, z: gzip 압축, v: 과정 표시, f: 파일 이름 지정
tar -czvf [백업파일_이름].tar.gz [백업할_디렉토리_경로]
tar -czvf www_backup_20251221.tar.gz /var/www/html기본 명령어:
# x: 해제, z: gzip 압축 해제, v: 과정 표시, f: 파일 이름 지정
tar -xzvf [백업파일_이름].tar.gz -C [복구할_위치]
tar -xzvf www_backup_20251221.tar.gz -C /var/www/백업 파일 보관: 생성된 백업 파일(DB, 파일)은 현재 서버가 아닌, AWS S3, Google Drive, 별도의 백업 서버 등 물리적으로 분리된 안전한 공간에 전송하여 보관해야 합니다.
시스템 리소스:
top, htop, free -h, df -h서비스 상태:
systemctl status nginx애플리케이션 성능 (APM):
Zabbix, Prometheus/Grafana와 같은 오픈소스 도구나, AWS CloudWatch와 같은 클라우드 서비스를 사용하여 이러한 지표들을 자동으로 수집하고, 시각화하며, 임계치 초과 시 알림(Alert)을 받도록 구성하는 것이 일반적인 운영 방식입니다.