본문 바로가기

IT

Rsync와 크론탭을 이용한 자동화 백업

1. 자동화 백업이 필요한 이유

서버나 PC에서 중요한 데이터는 주기적으로 백업하지 않으면 갑작스러운 장애, 실수, 보안 사고로 인해 손실될 수 있다. 수동으로 백업하는 방식은 번거롭고 놓치기 쉽기 때문에, 자동화된 백업 시스템을 구축하는 것이 안정적인 데이터 관리의 핵심이다. 리눅스 환경에서는 Rsync와 **크론탭(crontab)**을 조합해 간단하면서도 강력한 자동 백업을 구현할 수 있다.

2. Rsync 기본 복습

Rsync는 파일 동기화 및 백업을 위한 대표적인 도구다.

  • 증분 복사: 변경된 파일만 전송해 네트워크와 저장 공간 절약
  • 다양한 옵션: 압축(-z), 삭제(--delete), 권한 유지(-a) 등
  • 로컬 ↔ 원격 서버 간 동기화 가능
  • SSH와 결합하면 보안 전송도 보장

예시 명령어:

rsync -avz /home/user/data/ user@backupserver:/backup/data/
 
 

이 명령어는 로컬의 /home/user/data/를 원격 서버의 /backup/data/와 동기화한다.

3. 크론탭(crontab) 기본 개념

크론탭은 리눅스에서 작업을 특정 시간에 자동 실행하게 해주는 스케줄러다.

  • 분 시 일 월 요일 명령어 형식으로 설정한다.
  • 예: 0 2 * * * → 매일 새벽 2시에 실행

현재 사용자 크론탭 수정:

 
crontab -e

등록된 크론탭 확인:

 
crontab -l

4. Rsync + 크론탭 활용 예시

매일 새벽 2시에 특정 디렉토리를 원격 서버로 자동 백업하려면 크론탭에 다음과 같이 등록한다.

 
0 2 * * * rsync -avz /home/user/data/ user@backupserver:/backup/data/ >> /var/log/rsync_backup.log 2>&1
  • 0 2 * * * : 매일 2시 정각 실행
  • >> /var/log/rsync_backup.log 2>&1 : 로그 파일로 결과 저장
  • SSH 키 기반 인증을 설정해두면 비밀번호 입력 없이 자동 실행 가능

5. 자동화 백업 시 유용한 팁

  • SSH 키 등록: ssh-keygen과 ssh-copy-id를 활용해 자동 로그인 설정
  • 로그 관리: 로그를 주기적으로 확인해 실패 여부 점검
  • 공간 관리: --delete 옵션을 사용해 삭제된 파일을 반영하거나, 백업 보존 정책을 정해 과도한 용량 사용을 방지
  • 압축 옵션: 네트워크 환경이 느리다면 -z를 활용해 전송 속도를 최적화
  • 보안 고려: root 계정보다는 전용 백업 계정을 사용하는 것이 안전하다

6. 결론

Rsync와 크론탭을 함께 사용하면 리눅스 환경에서 간단하면서도 강력한 자동화 백업 시스템을 구축할 수 있다. 정해진 시간마다 자동으로 실행되므로 관리자의 수고를 줄이고, 데이터 안정성을 크게 높여준다. 규모가 큰 기업 환경뿐 아니라 개인 서버나 NAS에서도 손쉽게 적용할 수 있는 실용적인 방법이다.