백업 및 복구 · 2 min read · Feb 12, 2026

Debian Sarge에서 mysql-zrm을 사용한 MySQL 백업 및 복구 - 페이지 3

4 백업 예제

mysql-zrm을 사용하면 여러 개의 백업 세트를 유지할 수 있습니다. 예를 들어, 일일 백업, 주간 백업, osCommerce 데이터베이스 백업, vBulletin 데이터베이스 백업 등이 있습니다.

이제 백업 세트 dailyrun에서 첫 번째 백업을 생성해 보겠습니다:

mysql-zrm-scheduler --now --backup-set dailyrun --backup-level 0

이 명령은 모든 데이터베이스를 /var/lib/mysql-zrm/dailyrun 디렉토리에 즉시 백업하고, /etc/mysql-zrm/dailyrun 디렉토리도 생성합니다. –backup-level 0은 전체 백업을 의미합니다(증분 백업(–backup-level 1)도 할 수 있지만, 이에 대해서는 나중에 설명하겠습니다 - 지금은 전체 백업만 수행합니다).

이메일 알림을 활성화한 경우, 이제 백업 상태에 대한 이메일을 받았을 것입니다. 그러나 다음과 같이 명령줄에서 백업 상태에 대한 보고서를 생성할 수도 있습니다:

mysql-zrm-reporter --where backup-set=dailyrun --show backup-status-info

출력은 다음과 같습니다:

| backup_set backup_date backup_level backup_status comment ---------------------------------------------------------------------------------------------------------------------- dailyrun Tue 26 Sep 2006 07:57:47 PM CEST 0 Backup succeeded ---- |

다음 명령어를 사용하여 몇 가지 다른 보고서를 생성할 수도 있습니다:

mysql-zrm-reporter --where backup-set=dailyrun --show backup-method-info  
mysql-zrm-reporter --where backup-set=dailyrun --show backup-retention-info  
mysql-zrm-reporter --where backup-set=dailyrun --show backup-performance-info  
mysql-zrm-reporter --where backup-set=dailyrun --show restore-full-info  
mysql-zrm-reporter --where backup-set=dailyrun --show restore-incr-info  
mysql-zrm-reporter --where backup-set=dailyrun --show replication-info

각각의 명령어를 시도하여 어떤 정보를 제공하는지 확인해 보세요.

이제 시스템에 의해 자동으로 실행되는 일일 및 주간 백업을 생성하고 싶습니다(즉, 우리의 상호작용 없이). 다음과 같이 이러한 백업을 설정할 수 있습니다:

mysql-zrm-scheduler --add --interval daily --backup-set dailyrun --backup-level 0  
mysql-zrm-scheduler --add --interval weekly --backup-set weeklyrun --backup-level 0

(두 번째 명령어로 weeklyrun이라는 새로운 백업 세트를 생성했습니다.)

이제 예약된 백업을 확인해 보겠습니다:

mysql-zrm-scheduler --query

출력은 다음과 같습니다:

| Logging to /var/log/mysql-zrm/mysql-zrm-scheduler.log 0 3 * * * /usr/bin/mysql-zrm --action backup --destination /var/lib/mysql-zrm --backup-set dailyrun --backup-level 0 0 4 * * * /usr/bin/mysql-zrm --action purge --destination /var/lib/mysql-zrm 0 2 * * 0 /usr/bin/mysql-zrm --action backup --destination /var/lib/mysql-zrm --backup-set weeklyrun --backup-level 0 |

보시다시피, 일일 백업은 매일 03:00에 실행되고, 주간 백업은 매주 일요일 02:00에 실행됩니다.

(참고로,

mysql-zrm-scheduler --query

대신 다음을 실행할 수도 있습니다:

crontab -l

동일한 정보를 얻을 수 있습니다.)

일일 백업을 다른 시간, 예를 들어 13:35에 시작하고 싶다면 다음과 같이 할 수 있습니다:

mysql-zrm-scheduler --add --interval daily --backup-set dailyrun --start 13:35 --backup-level 0

cron에서 예약된 백업을 제거하려면 다음과 같이 할 수 있습니다:

mysql-zrm-scheduler --delete --interval weekly

이 명령은 매주 일요일 02:00에 실행되는 주간 백업을 cron에서 제거합니다. 13:35에 예약된 일일 백업을 제거하려면 다음과 같이 할 수 있습니다:

mysql-zrm-scheduler --delete --interval daily --start 13:35

그러나 다음을 실행하여

crontab -e

cron 작업을 편집하는 것이 mysql-zrm-scheduler를 다루는 것보다 더 쉬울 수 있습니다.

5 맞춤형 보고서, HTML 보고서

4장에서는 어떤 종류의 보고서가 있는지 이미 언급했습니다. 그러나 맞춤형 보고서도 생성할 수 있습니다. 즉, 보고서에서 보고 싶은 열/정보를 지정할 수 있습니다. 예를 들어,

mysql-zrm-reporter --fields backup-set,backup-date,backup-level,backup-status --where backup-set=dailyrun

이 명령은 dailyrun 백업 세트에 대한 보고서를 생성하며, backup-set, backup-date, backup-level 및 backup-status 열을 보여줍니다:

| backup_set backup_date backup_level backup_status ------------------------------------------------------------------------------------------------ dailyrun Tue 26 Sep 2006 07:57:47 PM CEST 0 Backup succeeded dailyrun Tue 26 Sep 2006 07:58:08 PM CEST 0 Backup succeeded dailyrun Tue 26 Sep 2006 07:58:31 PM CEST 0 Backup succeeded dailyrun Tue 26 Sep 2006 08:24:04 PM CEST 0 Backup succeeded |

모든 열의 목록은 http://mysqlbackup.zmanda.com/index.php/What_information_can_be_obtained_from_a_backup_report%3F에서 확인할 수 있습니다.

mysql-zrm을 사용하면 HTML 보고서도 생성할 수 있습니다. 시스템에 문서 루트가 /var/www인 웹 서버(예: Apache)가 설치되어 있다고 가정해 보겠습니다. 이제 다음을 실행합니다:

mysql-zrm-reporter --show backup-status-info --where backup-set=dailyrun --type html --output /var/www/backup-status-dailyrun.html

이 명령은 /var/www 디렉토리에 backup-status-dailyrun.html이라는 HTML 파일을 생성하며, 이제 브라우저에서 다음과 같이 접근할 수 있습니다(예: http://server1.example.com/backup-status-dailyrun.html):

Share: X/Twitter LinkedIn

새 게시물을 받은 편지함에서 받기

스팸은 없습니다. 언제든지 구독 해지 가능합니다.