시작하기
기본 개념
Linux와 Unix 환경에서는 rsync 명령을 사용해 서버와 스토리지 사이의 파일을 동기화하는 방식이 많이 사용됩니다.
예를 들어 업무 서버의 특정 폴더를 백업 서버로 복사하거나, 생성된 파일만 원격 서버에 반영하고, 정해진 시간마다 여러 시스템의 디렉터리를 동기화할 수 있습니다.
일반적인 rsync 작업은 출발 경로와 대상 경로, 제외 조건과 실행 옵션을 셸 스크립트나 Cron 작업에 직접 작성합니다.
Application Server
│
│ /data/report
▼
rsync Script
│
│ Schedule / Options
▼
Remote Server
│
▼
/backup/report
하지만 동기화 작업이 늘어나면 서버별 rsync 명령과 Cron 설정, 제외 규칙과 실행 로그가 여러 환경에 분산될 수 있습니다.
예를 들어 한 서버에서는 매일 새벽에 백업 폴더를 동기화하고, 다른 서버에서는 파일 변경 후 즉시 원격 시스템으로 반영하도록 구성할 수 있습니다. 작업별 설정과 실행 결과가 각각의 스크립트와 서버에 나뉘어 있으면 전체 동기화 현황이나 실패 이력을 한곳에서 확인하기 어려울 수 있습니다.
관리형 Flow로 전환하면 기존 rsync 작업에서 사용하던 출발 경로와 대상 경로, 파일 조건과 실행 시점을 Flow로 구성하고, 여러 동기화 작업의 실행 결과와 실패 이력을 관리할 수 있습니다.

기존
Server A ──┐
├──▶ rsync Script + Cron ──▶ Target
Server B ──┘
전환 후
Server A ──┐
├──▶ Managed Flow ──▶ Target A
Server B ──┘ │
├── Runs
├── Activity
└── Failure History
기존 서버에서 파일을 생성하거나 처리하는 작업은 유지하면서, 실제 동기화 작업과 실행 조건을 중앙에서 관리하는 방식으로 전환할 수 있습니다.
전환 범위
하나의 rsync 스크립트에는 단순한 파일 동기화 외에도 파일 준비와 로그 기록, 완료 후 처리 같은 작업이 함께 포함될 수 있습니다.
예를 들어 다음과 같은 배치 작업을 사용할 수 있습니다.
Daily Job
│
├── Generate Files
├── Compress
├── rsync
├── Write Log
└── Cleanup
이 경우 모든 작업을 Flow로 다시 작성할 필요는 없습니다.
파일 생성이나 압축, 업무별 처리 로직은 기존 환경에서 유지하고, 실제 파일을 동기화하는 rsync 구간과 실행 조건을 관리형 Flow로 이전할 수 있습니다.
| 기존 작업 | 전환 방식 |
|---|---|
| 파일 생성 | 기존 프로그램 또는 스크립트 유지 |
| 파일 처리 | 기존 셸 명령 유지 |
| 파일 동기화 | rsync에서 Flow로 전환 |
| 실행 일정 | Cron 조건을 Flow 실행 조건으로 이전 |
| 실행 결과 | 중앙 Runs에서 확인 |
| 실패 기록 | 작업별 실행 이력으로 관리 |
| 후속 작업 | Flow 결과에 따라 연결 |
이렇게 하면 기존 자동화 환경을 한 번에 교체하지 않고 파일 동기화와 운영 관리가 필요한 부분부터 관리형 Flow로 전환할 수 있습니다.
IT 엔지니어
작업 분석
먼저 기존 rsync 명령과 스크립트에서 실제 동기화에 사용되는 정보를 확인합니다.
rsync 작업은 단순히 두 경로 사이의 파일을 복사하는 경우도 있지만, 특정 확장자를 제외하거나 하위 디렉터리를 함께 처리하고, 변경된 파일만 반영하도록 구성하는 경우도 있습니다.
따라서 기존 작업을 다음 항목으로 나누어 확인합니다.
| 확인 항목 | 확인 내용 |
|---|---|
| Source | 동기화할 파일 또는 디렉터리 |
| Source Path | 원본 파일이 있는 경로 |
| Target | 파일을 반영할 시스템 |
| Target Path | 대상 저장 위치 |
| 동기화 범위 | 전체 파일 또는 변경 파일 |
| 제외 조건 | 동기화하지 않을 파일과 경로 |
| 실행 조건 | 일정, 변경 또는 외부 실행 |
| 기존 옵션 | rsync 명령에 적용된 조건 |
| 후속 처리 | 동기화 완료 후 실행되는 작업 |
예를 들어 여러 서버에서 서로 다른 폴더를 동기화하고 있다면 작업별로 다음과 같이 정리할 수 있습니다.
┌─────────────────┐
│ Source Server A │
│ /data/report │
└────────┬────────┘
│
├──────────────┐
│ │
▼ ▼
Daily Sync On-Demand Sync
│ │
└──────┬───────┘
▼
Target Storage
이 과정을 통해 기존 서버와 스크립트에 분산되어 있던 동기화 경로와 실행 방식을 Flow 구성 단위로 정리할 수 있습니다.
경로 이전
기존 rsync에서 사용하던 출발 경로와 대상 경로를 Flow의 Source와 Target으로 구성합니다.
예를 들어 업무 서버의 /data/export 폴더를 원격 백업 서버의 /backup/export 경로로 동기화하고 있다면 동일한 파일 흐름을 Flow에 적용합니다.
┌────────────────────────┐
│ Source │
│ │
│ /data/export/ │
│ ├── report.csv │
│ ├── result.zip │
│ └── daily/ │
└────────────┬───────────┘
│
│ Sync Flow
▼
┌────────────────────────┐
│ Target │
│ │
│ /backup/export/ │
└────────────────────────┘

기존 rsync에서 사용하던 경로 정보를 그대로 옮기되, 실제 업무에 필요한 파일 범위와 대상 저장 위치를 함께 확인합니다.
특히 하나의 스크립트에서 여러 대상 시스템으로 동기화하는 경우에는 대상별 Flow를 분리하거나 하나의 흐름 안에서 필요한 전송 구조를 구성할 수 있습니다.
동기화 조건
경로를 구성한 뒤에는 기존 rsync 작업이 어떤 기준으로 실행되는지 확인하고 Flow의 실행 조건으로 이전합니다.
동기화 작업은 업무 환경에 따라 정해진 시간에 반복할 수도 있고, 특정 파일이 생성되거나 변경된 이후 시작할 수도 있습니다.
Sync Trigger
│
┌──────────────┼──────────────┐
▼ ▼ ▼
Schedule File Change External Request
│ │ │
└──────────────┼──────────────┘
▼
Sync Flow
│
▼
Target

예를 들어 다음과 같은 실행 기준을 구성할 수 있습니다.
| 실행 기준 | 활용 방식 |
|---|---|
| Date/Time | 매일 또는 매주 정해진 시간에 실행 |
| File Change | 새 파일 생성 또는 변경 후 실행 |
| After Transfer | 이전 파일 처리 작업 완료 후 실행 |
| URL Request | 외부 시스템 요청으로 실행 |
기존 Cron에서 매일 특정 시간에 실행하던 작업은 일정 기반 Flow로 구성할 수 있고, 다른 파일 처리 작업이 완료된 뒤 rsync를 실행하던 구조는 이전 작업의 결과와 연결할 수 있습니다.
반영 방식
기존 rsync 작업에서는 전체 디렉터리를 반복해서 처리하기보다 변경된 파일만 반영하거나, 특정 파일과 경로를 제외하는 방식이 사용될 수 있습니다.
Flow로 전환할 때도 실제 동기화에 필요한 파일 범위를 명확하게 구성합니다.
Source Folder
│
├── report_01.csv ──────┐
├── report_02.csv ──────┤
├── temp.log ───────────┼── 제외
└── archive/ ───────────┤
▼
File Rules
│
┌─────────┴─────────┐
▼ ▼
Include Exclude
│ │
▼ └── 유지
Sync Flow
│
▼
Target
다음과 같은 기준으로 동기화 범위를 구성할 수 있습니다.
| 파일 처리 기준 | 구성 방법 |
|---|---|
| 전체 경로 | 지정된 폴더의 파일을 동기화 |
| 특정 파일 | 필요한 파일만 선택 |
| 확장자 기준 | 업무에 필요한 파일 유형만 포함 |
| 제외 규칙 | 임시 파일이나 로그 파일 제외 |
| 하위 경로 | 필요한 디렉터리 구조 유지 |
| 변경 파일 | 이전 실행 이후 변경된 파일 중심으로 처리 |

이렇게 하면 기존 스크립트에 작성되어 있던 파일 범위와 처리 기준을 Flow에서 확인하고 관리할 수 있습니다.
흐름 구성
동기화 경로와 실행 조건을 구성한 뒤에는 Source에서 Target까지 이어지는 전체 파일 흐름을 확인합니다.
하나의 Source에서 하나의 Target으로 파일을 반영하는 기본적인 구조뿐 아니라, 여러 서버의 데이터를 하나의 중앙 저장소로 모으거나 하나의 파일을 여러 시스템에 반영하는 구조도 구성할 수 있습니다.
Source Systems
┌──────┼──────┐
▼ ▼ ▼
Server A Server B Server C
│ │ │
└──────┼──────┘
▼
Sync Flow
│
┌──────┴──────┐
▼ ▼
Backup Storage Archive

업무 환경에 따라 동기화 흐름을 다음과 같이 확장할 수 있습니다.
여러 서버의 결과 파일을 중앙 스토리지로 수집
업무 폴더의 변경 파일을 원격 서버에 자동 반영
하나의 기준 폴더를 여러 지점의 서버에 배포
처리 서버의 결과 파일을 다음 시스템으로 연결
백업 파일을 원격 스토리지에 반복 동기화
이를 통해 개별 서버의 스크립트로 관리하던 파일 동기화 작업을 하나의 Flow 단위로 구성할 수 있습니다.
실행 관리
Flow가 실행되면 Runs에서 각 동기화 작업의 진행 상태와 결과를 확인할 수 있습니다.
여러 작업이 동시에 실행되는 경우에도 실행 목록에서 상태를 비교하고, 특정 Run을 선택해 Source와 Target, 처리된 파일과 실행 시간을 확인할 수 있습니다.

실행 결과에서는 다음과 같은 정보를 확인할 수 있습니다.
| 확인 항목 | 확인 내용 |
|---|---|
| Source | 동기화를 실행한 원본 시스템과 경로 |
| Target | 파일이 반영되는 대상 시스템과 위치 |
| Total Files | 처리 대상 파일 수 |
| Total Size | 전체 파일 크기 |
| Progress | 현재 처리 진행률 |
| Status | 실행 상태와 완료 여부 |
| Started | 작업 시작 시간 |
| Completed | 작업 완료 시간 |
이를 통해 기존 서버별 로그를 각각 확인하지 않고 동기화 작업별 실행 결과를 비교할 수 있습니다.
실패 이력
동기화 과정에서 추가 확인이 필요한 작업이 발생하면 해당 Run의 상세 정보를 확인해 어느 구간에서 처리가 중단되었는지 확인합니다.
예를 들어 Source 시스템의 연결 상태나 Target 저장 위치, 파일 접근 권한 등을 확인한 뒤 필요한 조치를 완료하고 작업을 다시 실행할 수 있습니다.
Run Review
│
▼
View Details
│
├── Source Connection
│
├── Target Connection
│
├── File Path
│
└── File Status
│
▼
Configuration Check
│
▼
Retry
│
▼
New Run
│
▼
Result Verify

실패 이력을 확인할 때는 다음 항목을 함께 살펴볼 수 있습니다.
| 확인 항목 | 확인 내용 | 후속 작업 |
|---|---|---|
| Source 연결 | 원본 시스템 연결 상태 | 장비 연결 확인 |
| Target 연결 | 대상 시스템 접근 상태 | 대상 환경 확인 |
| 파일 경로 | Source와 Target 경로 | 경로 조정 |
| 접근 권한 | 파일 읽기와 저장 권한 | 권한 설정 확인 |
| 파일 상태 | 처리 대상 파일 정보 | 파일 상태 확인 |
| 실행 기록 | Run 상세 정보와 활동 이력 | 환경 조정 후 재실행 |
문제가 해결된 뒤에는 필요한 작업을 다시 실행하고 새로운 Run을 통해 파일이 대상 위치에 정상적으로 반영되었는지 확인할 수 있습니다.
이 과정을 통해 기존 rsync 작업 분석 → 동기화 경로 이전 → 실행 조건 구성 → 파일 처리 기준 설정 → 관리형 Flow 구성 → 실행 결과 확인 → 실패 이력 관리까지 이어지는 전환 흐름을 구성할 수 있습니다.
기존 서버에서 수행하던 파일 생성과 업무 처리 구조는 유지하면서, 분산된 rsync 경로와 실행 조건을 관리형 Flow로 이전해 동기화 작업의 구성, 실행 결과와 실패 이력을 하나의 관리 흐름으로 운영할 수 있습니다.