Utils [Ubuntu] rsync로 백업 하기

[Ubuntu] rsync로 백업 하기

RSYNC(Remote SYNChronize)는

로컬 또는 원격으로 “파일 또는 디렉토리”를 백업 또는 동기화할 수 있는 명령어이다.

먼저 Ubuntu 환경에서 Storage 갯수와 상태를 확인하고 Storage 갯수에 따라 백업환경을 설계해야한다. 백업종류로는 3가이다.

  • 압축 백업 : (tar -czpf 백업) 일반적으로 많이 쓰이는 백업입니다. 이 작업에는 CPU 가 많이 사용된다.
  • 복사 백업 : (cp -R 백업) 압축하지 않고 복사만 합니다. 사용 용량을 많이 차지하지만 (압축하지 않는다는 뜻) 백업할 때 CPU 사용량이 크게 증가하지는 않음.
  • 증분 백업 : (rsync 백업) 변동사항만 비교하여 백업합니다. 비교를 위해서 파일은 항상 압축되지 않은 상태로 보관된다.

1 . 개요

cron, cronie, crond, cron daemon, crontab, cron job, crontab job크론, 크론 데몬, 크론탭, 크론작업, 리눅스 작업 스케줄러/usr/sbin/crond/usr/bin/crontab

  • 프로세스 예약 데몬
  • 리눅스용 작업 스케줄러
  • 특정시각에 명령어가 수행되도록 등록가능
  • cronie(패키지) = crond(데몬) + crontab(크론 계획표)[1]
  • 로그: /var/log/cron에 변경/수행 이력이 기록됨
  • 런레벨, 사용자 권한 등 환경에 따라 GUI 프로그램을 실행시키거나 X윈도우에서 별도의 창을 띄우는 작업은 불가능할 수 있음

2. 등록형식

      • 수행할 명령어 ┬ ┬ ┬ ┬ ┬ │ │ │ │ │ │ │ │ │ │ │ │ │ │ └───────── 요일 (0 – 6) (0:일요일, 1:월요일, 2:화요일, …, 6:토요일) │ │ │ └───────── 월 (1 – 12) │ │ └───────── 일 (1 – 31) │ └───────── 시 (0 – 23) └───────── 분 (0 – 59)
    text

→ “분시일월요”

  • * * * * * 1분 마다 실행
  • 30 * * * * 매시 30분마다 실행
  • 0 0 10 * * 매월 10일 0시 0분에 실행
  • * 10 * * 매월 10일에 1분 마다 실행
  • 0 0 10 4 * 매년 4월 10일에 0시 0분에 실행
  • 0 0 * * 1 매주 월요일 0시 0분에 실행 (요일의 숫자표현: 일0 월1 화2 수3 목4 금5 토6)
  • 0 * * * 1 매주 월요일 매시 0분에 실행

→ 주말(일요일, 토요일) 08:00

3. 명령어 

 r: recurse into directories-l: Copy symlinks as symlinks-p: Preserve permissions-t: Preserve times-g: Preserve group-o: Preserve owner-D: Preserve devices-a: -rlptgoD (=Archive mode)-z: Compress file data during the transfer-v: Increase verbosity-u: update only (don’t overwrite files)–exclude=PATTERN: Exclude files matching PATTERN–include=PATTERN: Don’t exclude files matching PATTERNcs

그럼 실습을 통해 알아보면

rsync -a /tmp/alpha/ /tmp/beta/

b1.txt는 그대로 유지되었고, common1.txt파일은 대체되었고, a1.txt파일은 추가되었다

만약 u 옵션을 추가하여 실행했다면 b1.txt, common1.txt파일은 그대로 유지되고 a1.txt파일만 추가됩니다.

# rsync -au /tmp/alpha/ /tmp/beta/

=

Leave a Reply

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

Related Post

[Linux] Could not get lock /var/lib/dpkg/lock/frontend/ , Error[Linux] Could not get lock /var/lib/dpkg/lock/frontend/ , Error

이와같은 에러가 날경우 Node.js 설치할때 발생되는 오류가고 하지만 본인의경우는 가상환경이나 다른 pc에도 우분투를 설치할때 이와같은 에러가 항상 빈번하게 발생됬다. 그래서 아래와 같이 몇몇 폴더를 삭제하고 재 업데이트를 해주면 대부분 해결되었다.