1. 개요
- 공유 폴더의 내용을 다른 공유 폴더로 주기적으로 복사하도록 예약하는 과정입니다. 작업을 만들고 수동으로 한 번 실행해 본 뒤, 원본에 파일을 만들어 실제로 옮겨지는지까지 확인합니다.
[원본 공유 폴더 (128G)]
│ ① Rsync 작업 만들기 (원본·대상·주기 지정)
▼
[예약된 작업]
│ ② 변경사항 적용
▼
[일정에 따라 자동 실행]
│ ③ 수동 실행으로 동작 확인
▼
[대상 공유 폴더 (12T)]
│ ④ 파일을 만들어 실제 복사 확인
▼
[백업 동작 확인 완료]
- 범위: ① ~ ④
- 범위 밖: 원격(Remote) 방식 rsync, Rsync 서버 모듈 설정, 세대별 보관, 실행 결과 메일 알림
2. 환경
| 항목 | 값 |
|---|---|
| 하드웨어 | Raspberry Pi 5 |
| 스토리지 확장 | Radxa Penta SATA HAT (JMB585 PCIe→SATA) |
| OS | Raspberry Pi OS Lite (64-bit) |
| 원본 공유 폴더 | 128G (/dev/sda1, SSD) |
| 대상 공유 폴더 | 12T (/dev/md0, RAID 5) |
3. 사전 조건
| 항목 | 내용 |
|---|---|
| 공유 폴더 | 원본과 대상 공유 폴더가 모두 만들어져 있어야 합니다. |
| 대상 용량 | 대상 공유 폴더에 원본을 담을 만한 여유가 있어야 합니다. |
| 원본과 대상 확인 | 두 폴더를 반대로 지정하면 백업하려던 자료가 덮어써집니다. 저장하기 전에 방향을 다시 확인하시기 바랍니다. |
| 삭제 처리 | 기본 설정에서는 원본에서 지운 파일이 대상에 그대로 남습니다. 완전히 똑같이 맞추려면 삭제 관련 옵션을 따로 켜야 합니다. |
| 장치명 변경 | 재부팅하면 /dev/sdX 가 바뀔 수 있습니다. OMV는 UUID로 관리하므로 작업 설정은 영향을 받지 않습니다. |
4. 용어
4.1 기본 개념
| 용어 | 설명 |
|---|---|
| Rsync | 두 위치의 파일을 비교해 달라진 부분만 옮기는 도구입니다. |
| 증분 복사 | 이미 같은 파일은 건너뛰고 바뀐 것만 옮기는 방식입니다. 두 번째 실행부터 훨씬 빨라집니다. |
| 작업(Task) | 원본, 대상, 실행 주기를 하나로 묶어 저장해 둔 것입니다. |
| 로컬(Local) 방식 | 같은 서버 안의 공유 폴더끼리 복사합니다. |
| 원격(Remote) 방식 | 네트워크를 통해 다른 서버와 주고받습니다. |
| Cron | 정해진 시간에 작업을 실행하는 리눅스 기능입니다. 실행 시간 항목이 이 방식을 따릅니다. |
RAID와 Rsync는 역할이 다릅니다.
| 구분 | RAID 5 | Rsync 백업 |
|---|---|---|
| 막아 주는 것 | 디스크 고장 | 실수로 지운 파일, 파일 손상 |
| 막지 못하는 것 | 실수로 지운 파일, 랜섬웨어 | 실행 이후에 생긴 변화 |
| 저장 위치 | 같은 배열 안 | 다른 볼륨 |
4.2 실행 주기 항목
각 항목 오른쪽의 매 N마다 를 체크하면 그 값 간격으로 반복하고, 체크를 풀면 그 값일 때 한 번만 실행합니다.
| 항목 | 입력값 | 매 N마다 | 결과 |
|---|---|---|---|
| 분 | 10 | 체크 | 10분 간격으로 반복합니다. |
| 시간 | 20 | 해제 | 오후 8시대에만 실행합니다. |
| 달의 하루 | * | 해제 | 날짜를 가리지 않습니다. |
세 항목을 합치면 매일 오후 8시부터 8시 59분까지 10분 간격으로 실행됩니다. 화면 위쪽의 실행 시간 칸에 이 내용이 문장으로 표시되므로, 의도한 주기가 맞는지 저장 전에 확인할 수 있습니다.
5. 절차
5.1 Rsync 작업 만들기
- 경로 : 서비스 → Rsync → Tasks

- 서비스 메뉴로 이동합니다.
- Rsync를 선택합니다.

- Tasks를 선택합니다.

- 툴바의 + 아이콘을 클릭합니다.

- 각 필드를 입력합니다.
- 저장을 클릭합니다.
| 필드 | 입력값 | 설명 |
|---|---|---|
| 활성화됨 | 체크 | 예약을 사용합니다. |
| 방식 | 로컬 | 같은 서버 안의 공유 폴더끼리 복사합니다. |
| 원본 공유 폴더 | 128G [on /dev/sda1, 128G/] | 복사해 올 쪽입니다. |
| 대상 공유 폴더 | 12T [on /dev/md0, 12T/] | 복사해 넣을 쪽입니다. 이 폴더 안에 원본 내용이 쌓입니다. |
| 실행 시간 | 10분마다, 오후 08:00에서 오후 08:59 사이 | 아래 주기 항목을 고르면 자동으로 채워집니다. |
| 분 | 10 + 매 N분마다 체크 | 10분 간격으로 반복합니다. |
| 시간 | 20 | 오후 8시대에만 실행합니다. |
| 달의 하루 | * | 날짜를 가리지 않습니다. |
화면을 아래로 내리면 월과 요일, 그리고 여러 옵션 항목이 이어집니다. 기본값을 그대로 두면 원본에서 지운 파일이 대상에 남습니다.
5.2 변경사항 적용

- Pending configuration changes 배너 우측의 체크 아이콘을 클릭합니다.
- 만들어진 작업 정보를 확인합니다.
| 항목 | 값 |
|---|---|
| 활성화됨 | ✓ |
| 일정 | 10분마다, 오후 08:00에서 오후 08:59 사이 |
| 방식 | Local |
| 근원 | 128G |
| 대상 | 12T |

- 적용 후 상태입니다. 배너가 사라지고 작업이 목록에 남습니다.
5.3 수동으로 실행
- 예약 시간까지 기다리지 않고 바로 실행해 동작을 확인합니다.

- 목록에서 작업을 클릭해 선택합니다. 선택하면 행이 강조되고 툴바의 실행 아이콘이 활성화됩니다.
- 실행 아이콘을 클릭합니다.

- 실행 로그를 확인하고 닫기를 클릭합니다.
| 출력 | 의미 |
|---|---|
Please wait, syncing <원본> to <대상> | 실제로 복사하는 경로입니다. 공유 폴더의 UUID 경로가 표시됩니다. |
sending incremental file list | 달라진 파일만 골라 목록을 만드는 중입니다. |
sent 52 bytes received 12 bytes | 실제로 오간 데이터의 양입니다. |
total size is 0 | 대상으로 옮겨진 전체 크기입니다. |
speedup is 0.00 | 전체 크기 대비 실제 전송량의 비율입니다. |
The synchronisation has completed successfully. | 정상적으로 끝났습니다. |
5.4 실제 복사 확인
- 아래 명령은 OMV가 설치된 서버에서 실행합니다. SSH로 접속하거나 본체 콘솔에서 실행합니다.
원본 공유 폴더의 마운트 경로를 확인합니다.
$ df -Th | grep sda
출력 예시:
/dev/sda1 xfs 120G 2.4G 117G 2% /srv/dev-disk-by-uuid-a8619a8b-22e2-43e7-a5b7-805f6990bb3a
원본에 테스트 파일을 만듭니다.
$ cd /srv/dev-disk-by-uuid-a8619a8b-22e2-43e7-a5b7-805f6990bb3a/128G
$ touch rsync-TEST
대상 공유 폴더의 마운트 경로를 확인합니다.
$ df -Th | grep md0
출력 예시:
/dev/md0 xfs 11T 215G 11T 2% /srv/dev-disk-by-uuid-48fa72c9-8753-43e6-817b-83609cad35c2
대상 폴더의 내용을 확인합니다.
$ ls /srv/dev-disk-by-uuid-48fa72c9-8753-43e6-817b-83609cad35c2/12T/
출력 예시:
rsync-TEST
파일이 보이지 않으면 아직 작업이 실행되지 않은 것입니다. 예약된 시간이 지나기를 기다리거나, 5.3의 실행 아이콘을 다시 눌러 즉시 실행한 뒤 확인하시기 바랍니다.