티스토리 뷰

2022.07.04 - [serverSide/Linux] - 리눅스에서 시놀로지 나스 파일 자동 백업 구축

 

시놀로지 나스 백업 세팅 후 crontab을 이용해서 1일 1회 자동 백업 되도록 작업

 

우선 rsync 실행용 sh 파일 생성

 

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

 #!/bin/bash

 rsync -av -e 'ssh -p ssh포트' /home/[백업할폴더경로] [시놀로지사용자계정]@[시놀로지 아이피]::NetBackup/[저장될파일경로]/ >> /var/log/filelog/backuplog_$(date +\%Y\%m\%d).log

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

 

위 내용대로 sh 파일 만들고 저장 후 파일 권한 755로 변경

 

 

rsync 속성

-a : 옵션 백업하면서 파일 자동 갱신하지만 삭제된 파일은 지워지지 않음

-v : 복사내역 출력

--delete : 삭제된 파일에 대해 백업에서도 삭제하고 싶으면 추가

-e :  ssh연결용 설정 기본포트를 사용하면 -e 'ssh' 까지만 적어도 됨

 

각 폴더 경로 지정 시 마지막 / 를 넣느냐 마느냐에 따라 폴더 경로가 달라짐

위처럼 백업할 경로에는 마지막 /를 제외하고 저장될경로에는 /를 넣게 되면 저장될경로 하위에 백업할폴더경로가 추가됨

 

로그파일은 매일 실행되는 내역을 저장하기 위해서 추가해둠

해당 폴더 생성안되어있으면 에러나니 스크립트에서 폴더경로 확인해서 폴더 생성해주던지 아니면 미리 경로 생성해두는걸로

 

우선 여기까지 하고 sh ./sh파일명.sh 실행해서 백업파일 생성 및 파일 백업이 정상적으로 진행되는지 확인

 

정상 진행 되면 crontab에 일정 등록

 

crontab -e

 

00 1 * * * sudo sh파일경로

위처럼 넣어두면 매일 1시에 실행됨

 

00 1 * * * su - root -c 'sh파일경로'

위처럼 쓰기도 함

 

등록하고 다음날 로그파일이 정상적으로 쌓였는지 확인하면 끝~

댓글