지난 포스팅 "비싼 NAS 시놀로지 DS216+II 개봉기 시작합니다."에서 구매한 NAS인 DS216+II의 용도는 몇 가지가 있는데 그중 하나가 백업이었습니다.
현재 개발서버의 첨부파일이나 DB 백업 파일 그리고 지원 서버의 레드마인 DB와 첨부 파일 등을 각 로컬 서버의 다른 디렉터리에 일 백업을 받고는 있는데 이건 백업이라고 하기에는 많이 불안하죠. 그래서 물리적으로 다른 곳에 백업을 하기 위해 DS216+II를 사용하려고 했습니다.
먼저 지원서버로 사용 중인 서버는 CentOS 7을 사용 중이고 로컬 백업은 모두 backup이라는 디렉터리 안에 각 백업 파일별로 디렉터리를 나누어서 적용 중입니다. 그래서 backup 디렉터리를 NAS로 일 백업을 적용시키기 위해 rsync를 사용하기로 했습니다.
진행 방법은 아래와 같습니다.
Synology NAS에서 rsync 활성화하기
제가 사용한 DS216+II는 DSM 버전 6.1.3을 사용 중입니다. DSM으로 로그인 후 제어판 > 파일 서비스로 이동 후 rsync 탭을 선택합니다.
여기에서 rsync 서비스 활성화를 선택 후 적용 버튼을 클릭해 주시면 되는데 이때 SSH 암호화 포트는 새로운 번호로 변경하는 걸 개인적으로 추천드립니다.
위 포스트에서 말했듯이 기본 포트 변경은 최소한의 보한 관리 방법 중 하나입니다.
백업 폴더 설정하기
위 작업이 완료되었다면 이제 백업 파일을 보관할 폴더를 생성하고 권한을 적용해야 하는데요.
제어판 > 공유 폴더로 이동 후 상단의 생성 > 생성을 클릭하시면 새 공유 폴더 생성 창이 나타납니다. 빈 항목을 알맞게 채워주세요. 전 이름과 설명과 입력 후 확인 버튼을 클릭했습니다. 참고로 전 해당 폴더를 백업용으로만 사용하기 위해 해당 폴더용 계정을 생성해서 그 계정만 접근하도록 설정했습니다.
백업 소스 서버에서 작업하기
위 작업이 끝났다면 NAS에서의 작업은 끝이 났고요. 다음은 백업 원본 소스가 있는 서버 저는 CentOS가 설치되어 있는 리눅스 서버에서의 작업만 남았습니다. 백업 원본 소스가 있는 서버에서 아래 명령을 입력해 주세요.
rsync -avzO -e 'ssh -p ' @:/volume1/
위와 같이 rsync 명령어를 입력하시고 실행을 하시면 rsync가 동작을 하는데요. 전 여기서 2번 고생을 했네요. 먼전 rsync 옵션(-avzO) 중 붉은색으로 표시한 O 옵션인데요. 해당 옵션에 대한 설명이 자세히 나와 있질 않아요. 내부에서 rsync을 설정할 때는 사용한 적이 없는데 현재 하는 것처럼 외부로 rsync를 적용할 경우에는 사용하라고만 하지 정확한 기능은 잘 모르겠습니다.
그리고 두 번째로 synology nas의 디렉터리 구조 중 붉은색으로 표시한 /volume1/ 경로가 기본 설정이더라고요. 윈도우로 보면 C:/ or D:/를 선택하는 건데 전 당연히 하나밖에 없으니 생각을 안 하고 있었죠. 반드시 풀 경로로 설정하시면서 /volume1/ 도 적어주세요.
여기까지 하면 기본적인 rsync 적용 작업이 완료되었습니다. 그런데 이렇게 하면 매번 백업을 수동으로 해줘야겠죠. 그래서 crontab을 이용해서 일 백업을 하도록 하겠습니다.
crontab을 이용한 자동 백업 설정
먼저 위에서 사용한 명령어를 vi 또는 vim 명령어로 .sh 파일로 만들어 줍니다.
rsync -avzO -e 'ssh -p ' @:/volume1/
예를 들어 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 을 이용한 방법에 대해서 알아보겠습니다.
늘 그렇듯 여러분들의 공감은 저에게 많은 힘이 되고 댓글은 포스트 작성에 많은 도움이 됩니다. 아시죠? 행복한 하루 보내세요. ^^