담덕이의 탐방일지

이 블로그의 모든 콘텐츠들은 저의 저작물이며 출처, 저자를 밝히지 않고 이루어지는
퍼가기, 복제등의 행위와 상업적인 이용을 금하며 필요하신 경우 별도로 연락을 주시기 바랍니다.


지난 포스팅 비싼 NAS 시놀리지 DS216+II 개봉기 시작합니다. 에서 구매한 NAS인
DS216+II의 용도는 몇가지가 있는데 그 중 하나가 백업이었습니다.

현재 개발서버의 첨부파일이나 DB백업파일 그리고 지원서버의 레드마인 DB와 첨부파일등을
각 로컬 서버의 다른 디렉토리에 일 백업을 받고는 있는데 이건 백업이라고 하기에는 많이 불안하죠.

그래서 물리적으로 다른 곳에 백업을 하기 위해 DS216+II 를 사용하려고 했습니다.

먼저 지원서버로 사용중인 서버는 CentOS 7을 사용중이고
로컬 백업은 모두 backup이라는 디렉토리 안에 각 백업파일별로 디렉토리를 나누어서 적용 중입니다.
그래서 backup 디렉토리를 NAS로 일 백업을 적용시키기 위해 rsync를 사용하기로 했습니다.

진행 방법은 아래와 같습니다.

  1. Synology NAS에서 rsync 활성화 하기
제가 사용한 DS216+II는 DSM 버전 6.1.3을 사용중입니다.
DSM으로 로그인 후 제어판 > 파일서비스 로 이동 후 rsync탭을 선택합니다.

여기에서 rsync 서비스 활성화를 선택 후 적용 버튼을 클릭해주시면 되는데
이때 SSH 암호화 포트는 새로운 번호로 변경하는걸 개인적으로 추천드립니다.
위 포스트에서 말했듯이 기본 포트 변경은 최소한의 보한 관리 방법 중 하나입니다.

  1. 백업 폴더 설정하기
위 작업이 완료 되었다면 이제 백업 파일을 보관할 폴더를 생성하고 권한을 적용해야 하는데요.

제어판 > 공유폴더로 이동 후 상단의 생성 > 생성을 클릭하시면
새 공유 폴더 생성 창이 나타납니다. 빈 항목을 알맞게 채워주세요.
전 이름과 설명과 입력 후 확인 버튼을 클릭했습니다.
참고로 전 해당 폴더를 백업용으로만 사용하기 위해 해당 폴더용 계정을 생성해서
그 계정만 접근하도록 설정했습니다.


  1. 백업 소스 서버에서 작업하기
위 작업이 끝났다면 NAS에서의 작업은 끝이 났고요.
다음은 백업 원본 소스가 있는 서버 저는 CentOS가 설치되어 있는 리눅스 서버에서의 작업만 남았습니다.

백업 원본 소스가 있는 서버에서 아래 명령을 입력해주세요.
rsync -avzO -e 'ssh -p {NAS에서 설정한 SSH 포트 번호}' {백업디렉토리경로} {백업폴더접근계정}@{NAS IP or URL}:/volume1/{백업폴더경로}
위와 같이 rsync 명령어를 입력하시고 실행을 하시면 rsync가 동작을 하는데요.
전 여기서 2번 고생을 했네요.
먼전 rsync 옵션(-avzO)중 붉은색으로 표시한 O 옵션인데요. 해당 옵션에 대한 설명이 자세히 나와 있질 않네요.
내부에서 rsync을 설정할때는 사용한 적이 없는데 현재 하는 것처럼 외부로 rsync를 적용할 경우에는 사용하라고만 하지
정확한 기능은 잘 모르겠어요.
그리고 두번째로 synology nas의 디렉토리 구조 중 붉은색으로 표시한 /volume1/ 경로가 기본설정이더라고요.
윈도우로 보면 C:/ or D:/ 를 선택하는건데 전 당연히 하나밖에 없으니 생각을 안하고 있었죠. --;;
반드시 풀경로로 설정하시면서 /volume1/ 도 적어주세요.

그럼 기본적인 rsync 적용 작업이 완료되었습니다.
그런데 이렇게 하면 매번 백업을 수동으로 해줘야 겠죠.
그래서 crontab을 이용해서 일 백업을 하도록 하겠습니다.

  1. crontab을 이용한 자동 백업 설정
먼저 위에서 사용한 명령어

rsync -avzO -e 'ssh -p {NAS에서 설정한 SSH 포트 번호}' {백업디렉토리경로} {백업폴더접근계정}@{NAS IP or URL}:/volume1/{백업폴더경로}
를 vi or vim 명령어로 .sh 파일로 만들어 줍니다.
예를 들어 backup.sh 파일로 만들었다고 가정하겠습니다.

그리고 crontab -e 명령어로 실행하시고 아래 명령어를 입력 후 저장 해 주세요.

0 23 * * * {backup.sh 파일 경로}

위 명령어중 경로 앞 숫자와 * 는
#분 시 일 월 요일(월=1 화=2 ... 일=7)
를 나타냅니다.
즉 매일 23시에 backup.sh 파일을 실행하라는 얘기죠.
다시 말해 매일 23시에 rsync 명령어가 실행되면서 Centos의 설정된 디렉토리와
NAS의 backup 폴더가 동기화가 된다는 얘기입니다.

어떻게 이해가 되시나요?
이게 한번 하고 나면 쉬운데 처음 할때 몇가지 설정이 안맞으면 머리가 아파서 저도 정리할겸
포스트로 남겨봅니다.

그럼 rsync를 이용한 백업은 여기서 끝
다음에는 윈도우에서 rsync가 아닌 synology NAS에서 제공하는 프로그램인
Cloud Station Backup 을 이용한 방법에 대해서 알아보겠습니다.

늘 그렇듯 여러분들의 공감은 저에게 많은 힘이 되고 댓글은 포스트 작성에 많은 도움이 됩니다.
아시죠? 

행복한 하루 되세요. ^^
신고
DISQUS 로드 중…
댓글 로드 중…

블로그 정보

담덕이가 생각하고 경험하고 체험하는 것들에 대한 담덕이의 주관적인 이야기들

최근에 게시된 글

티스토리 툴바