작업스케줄러에 Rsync이용 나의 Nas백업 usb에 복사하자 / rsync 를 이용하여 소중한 데이터를 백업하자.(펌업)
링크
컨텐츠 정보
- 11,325 조회
- 10 댓글
- 0 추천
-
목록
본문
작업스케줄러에 Rsync이용 나의 Nas백업 usb에 복사하자 / rsync 를 이용하여 소중한 데이터를 백업하자.(펌업)
나의 web/photo/music폴더을 usb에 복사하자
1) cp 명령을 이용하는 방법
cp -urp /volume1/web/ /volumeUSB1/usbshare/shimss_nas_backup/web/
cp -urp /volume2/photo/ /volumeUSB1/usbshare/shimss_nas_backup/photo/
cp -urp /volume2/music / /volumeUSB1/usbshare/shimss_nas_backup/music/
2) rsync 명령을 이용하는 방법
rsync -a -e ssh --delete --progress /volume1/web/ /volumeUSB1/usbshare/shimss_nas_backup/web/
rsync -a -e ssh --delete --progress /volume2/photo/ /volumeUSB1/usbshare/shimss_nas_backup/photo/
rsync -a -e ssh --delete --progress /volume2/music/ /volumeUSB1/usbshare/shimss_nas_backup/music/
3) 실행 방법
- 1차 puttry.com실행 후 명령줄에 입력 복사 확인
- 2차 작업스케줄러에 추가
4) 준비 filestation에서 폴더 속성을 확인 메모장에 카피한다
- 복사원본폴더 : /volume2/photo
- 복사위치폴더 : /volumeUSB1/usbshare/shimss_nas_backup/photo
- rsync 명령어와 같이 폴더 마지막에 "/" 추가
rsync -a -e ssh --delete --progress /volume2/photo/ /volumeUSB1/usbshare/shimss_nas_backup/photo/
5) putty.com실행 카피 상태 확인
( 중략 )
6) 작업스케줄러에 생성 저장한다
작업스케줄러의 사용자정의 top명령으로 실행상태 확인 가능
=======================
Linux 팁 - rsync 를 이용하여 소중한 데이터를 백업하자.
출처
http://starblood.tistory.com/m/entry/Mac-Linux-%ED%8C%81-rsync-%EB%A5%BC-%EC%9D%B4%EC%9A%A9%ED%95%98%EC%97%AC-%EC%86%8C%EC%A4%91%ED%95%9C-%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%A5%BC-%EB%B0%B1%EC%97%85%ED%95%98%EC%9E%90
2011.10.25 10:51댓글수0
데이터 백업은 아무리 강조해도 지나치지 않는다. 본인은 하드디스크의 신뢰성이 얼마나 좋은 지 잘 모른다.
하지만 하드디스크는 보통 2년 이내에 고장이 나는 것 같다.
그래서 제일 안전한 백업 방법은 데이터를 DVD 같은 read only 매체에 저장 하는 것이라고 생각한다.
하지만 하드디스크 만큼 편리한 저장매체는 없을 것이다.
그래서 이번에 나의 소중한 데이터를 rsync 를 이용하여 백업을 하게 되었다.
rsync 는 안전하게 데이터를 동기화 하는 방법을 제공하는데, 나는 백업할 데이터가 있는 PC 를 나의 Notebook, 백업한 데이터를 저장할 곳을 백업 서버(Ubuntu Linux Server)를 구성하여 데이터를 백업하였다.
백업을 하기위한 절차는 크게 두 단계로 나눌 수 있다.
첫 째, 백업명령을 순차적으로 실행할 shell script 작성
둘 째, 백업을 주기적으로 실행하도록 crond 설정
1. 백업 명령을 실행할 shell script 작성
backup.sh
위의 backup.sh 는 rsync 를 이용하여 archive mode 로 ssh remote shell 을 통하여 백업을 하되, /Users/starblood/project/eclipse/ 디렉토리(source) 아래에 있는 모든 데이터들을 192.168.20.92 Server 의 ~/home/starblood/backup/eclipse/(destination) 디렉토리 아래에 복사를 한다. 이 때 백업할 source 에 없는 디렉토리가 있으면 destination 디렉토리에서도 삭제를 수행하게 된다.
2. 백업을 주기적으로 실행하도록 crond 설정
crontab 명령어를 이용하여 crond 의 설정을 한다. 이때 -e (edit option) 옵션을 준다.
$ crontab -e
여기서 > /dev/null 2>&1 은 standard out 과 standard error 를 모두 /dev/null (블랙홀) 로 보내서 무시하겠다는 의미이다.
여기까지 작업을 해 놓으면, 나의 Notebook 은 평일(월,화,수,목,금) 오전 9시 30분마다 백업을 수행한다.
여기서 ssh login 할때, 패스워드를 물어보지 않고 접속을 허용하게 설정을 해 놓아야 하는데, 이는 아래 사이트에서 자세하게 소개했으니 참고하도록 한다.
ssh 로그인시 패스워드 물어보지 않고 로그인 하기
http://www.linuxhorizon.ro/ssh-wo-passw.html
본인이 백업을 하기위해서 참고한 사이트 정보
http://www.mikerubel.org/computers/rsync_snapshots/
하지만 하드디스크는 보통 2년 이내에 고장이 나는 것 같다.
그래서 제일 안전한 백업 방법은 데이터를 DVD 같은 read only 매체에 저장 하는 것이라고 생각한다.
하지만 하드디스크 만큼 편리한 저장매체는 없을 것이다.
그래서 이번에 나의 소중한 데이터를 rsync 를 이용하여 백업을 하게 되었다.
rsync 는 안전하게 데이터를 동기화 하는 방법을 제공하는데, 나는 백업할 데이터가 있는 PC 를 나의 Notebook, 백업한 데이터를 저장할 곳을 백업 서버(Ubuntu Linux Server)를 구성하여 데이터를 백업하였다.
백업을 하기위한 절차는 크게 두 단계로 나눌 수 있다.
첫 째, 백업명령을 순차적으로 실행할 shell script 작성
둘 째, 백업을 주기적으로 실행하도록 crond 설정
1. 백업 명령을 실행할 shell script 작성
backup.sh
#!/bin/bash # Backup eclipse projects rsync -a -e ssh --delete /Users/starblood/project/eclipse/ starblood@192.168.20.92:/home/starblood/backup/eclipse/ |
위의 backup.sh 는 rsync 를 이용하여 archive mode 로 ssh remote shell 을 통하여 백업을 하되, /Users/starblood/project/eclipse/ 디렉토리(source) 아래에 있는 모든 데이터들을 192.168.20.92 Server 의 ~/home/starblood/backup/eclipse/(destination) 디렉토리 아래에 복사를 한다. 이 때 백업할 source 에 없는 디렉토리가 있으면 destination 디렉토리에서도 삭제를 수행하게 된다.
2. 백업을 주기적으로 실행하도록 crond 설정
crontab 명령어를 이용하여 crond 의 설정을 한다. 이때 -e (edit option) 옵션을 준다.
$ crontab -e
# Run backup script every Mon,Tue,Wed,Thu,Fri, 9:30 AM # m h dom mon dow command 30 9 * * 1,2,3,4,5 /Users/starblood/script/backup.sh > /dev/null 2>&1 |
여기서 > /dev/null 2>&1 은 standard out 과 standard error 를 모두 /dev/null (블랙홀) 로 보내서 무시하겠다는 의미이다.
여기까지 작업을 해 놓으면, 나의 Notebook 은 평일(월,화,수,목,금) 오전 9시 30분마다 백업을 수행한다.
여기서 ssh login 할때, 패스워드를 물어보지 않고 접속을 허용하게 설정을 해 놓아야 하는데, 이는 아래 사이트에서 자세하게 소개했으니 참고하도록 한다.
ssh 로그인시 패스워드 물어보지 않고 로그인 하기
http://www.linuxhorizon.ro/ssh-wo-passw.html
본인이 백업을 하기위해서 참고한 사이트 정보
http://www.mikerubel.org/computers/rsync_snapshots/
관련자료
-
링크
댓글 10
shimss11q님의 댓글
(1) rsync명령어를 알자
rsync -av /home/ /backup/home
위 명령어를 내리면, /home/ 디렉토리의 모든 파일 및 디렉토리를
/backup/home/ 에 모두 복사해 준다.
권한, 소유자 등 모든 것을 똑같이 복사해 준다.
한번더, 명령어를 내리면 추가된 파일이, 수정된 파일이 있으면 복사해 준다.
하지만, 원본에서 지우면 사본에서는 지워지지 않는다.
(2) 원본에서 지워지면, 사본에서도 지워라!
rsync -av --delete /home/ /backup/home/
위 명령어를 내리면, 원본에서 지워졌다면 사본에서도 지워진다.
--delete 옵션이 바로 그런 역할을 한다.
rsync -av /home/ /backup/home
위 명령어를 내리면, /home/ 디렉토리의 모든 파일 및 디렉토리를
/backup/home/ 에 모두 복사해 준다.
권한, 소유자 등 모든 것을 똑같이 복사해 준다.
한번더, 명령어를 내리면 추가된 파일이, 수정된 파일이 있으면 복사해 준다.
하지만, 원본에서 지우면 사본에서는 지워지지 않는다.
(2) 원본에서 지워지면, 사본에서도 지워라!
rsync -av --delete /home/ /backup/home/
위 명령어를 내리면, 원본에서 지워졌다면 사본에서도 지워진다.
--delete 옵션이 바로 그런 역할을 한다.
shimss11q님의 댓글
RSYNC 특정폴더로 주기적으로 미러링 하기?
cp를 이용해서 복사해도 되지만 rsync를 이용하면 변경된 파일 또는 파일 중 변경된 부분만 복사하거나 삭제할 수 있어서 좋습니다.
아래 명령을 이용하면 됩니다.
/volume1/tmp/source 폴더가 /volume1/tmp/backup에 백업됩니다.
rsync -avP --delete /volume1/tmp/source /volume1/tmp/backup
아래는 다른 서버로 ssh 이용하여 전송하는 명령입니다.
rsync -avzP --delete /volume1/tmp/source -e "ssh -p 2222" 58.151.222.123:/volume1/backup
간단 옵션 설명
-a : archive mode, 심볼링 링크, 퍼미션 등 유지
-v : 상세 내용 표시
-P : 진행 상태 표시
-z : 압축 전송
--delete : 원본에서 삭제된 파일을 백업본에서도 삭제
위 명령을 스크립트로 만들어 스케줄러에 등록해서 사용하면 됩니다.
cp를 이용해서 복사해도 되지만 rsync를 이용하면 변경된 파일 또는 파일 중 변경된 부분만 복사하거나 삭제할 수 있어서 좋습니다.
아래 명령을 이용하면 됩니다.
/volume1/tmp/source 폴더가 /volume1/tmp/backup에 백업됩니다.
rsync -avP --delete /volume1/tmp/source /volume1/tmp/backup
아래는 다른 서버로 ssh 이용하여 전송하는 명령입니다.
rsync -avzP --delete /volume1/tmp/source -e "ssh -p 2222" 58.151.222.123:/volume1/backup
간단 옵션 설명
-a : archive mode, 심볼링 링크, 퍼미션 등 유지
-v : 상세 내용 표시
-P : 진행 상태 표시
-z : 압축 전송
--delete : 원본에서 삭제된 파일을 백업본에서도 삭제
위 명령을 스크립트로 만들어 스케줄러에 등록해서 사용하면 됩니다.
shimss@11q.kr님의 댓글
rsync -avzO -e 'ssh -p22' /volume1/web shimss@192.168.0.28:/volume2/nas1_rsync_backup
성공
성공
shimss@11q.kr님의 댓글
Linux 팁 - rsync 를 이용하여 소중한 데이터를 백업하자.
starblood
2011.10.25 10:51 댓글수0 공감수 0
데이터 백업은 아무리 강조해도 지나치지 않는다. 본인은 하드디스크의 신뢰성이 얼마나 좋은 지 잘 모른다.
하지만 하드디스크는 보통 2년 이내에 고장이 나는 것 같다.
그래서 제일 안전한 백업 방법은 데이터를 DVD 같은 read only 매체에 저장 하는 것이라고 생각한다.
하지만 하드디스크 만큼 편리한 저장매체는 없을 것이다.
그래서 이번에 나의 소중한 데이터를 rsync 를 이용하여 백업을 하게 되었다.
rsync 는 안전하게 데이터를 동기화 하는 방법을 제공하는데, 나는 백업할 데이터가 있는 PC 를 나의 Notebook, 백업한 데이터를 저장할 곳을 백업 서버(Ubuntu Linux Server)를 구성하여 데이터를 백업하였다.
백업을 하기위한 절차는 크게 두 단계로 나눌 수 있다.
첫 째, 백업명령을 순차적으로 실행할 shell script 작성
둘 째, 백업을 주기적으로 실행하도록 crond 설정
1. 백업 명령을 실행할 shell script 작성
backup.sh
#!/bin/bash
# Backup eclipse projects
rsync -a -e ssh --delete /Users/starblood/project/eclipse/ starblood@192.168.20.92:/home/starblood/backup/eclipse/
위의 backup.sh 는 rsync 를 이용하여 archive mode 로 ssh remote shell 을 통하여 백업을 하되, /Users/starblood/project/eclipse/ 디렉토리(source) 아래에 있는 모든 데이터들을 192.168.20.92 Server 의 ~/home/starblood/backup/eclipse/(destination) 디렉토리 아래에 복사를 한다. 이 때 백업할 source 에 없는 디렉토리가 있으면 destination 디렉토리에서도 삭제를 수행하게 된다.
2. 백업을 주기적으로 실행하도록 crond 설정
crontab 명령어를 이용하여 crond 의 설정을 한다. 이때 -e (edit option) 옵션을 준다.
$ crontab -e
# Run backup script every Mon,Tue,Wed,Thu,Fri, 9:30 AM
# m h dom mon dow command
30 9 * * 1,2,3,4,5 /Users/starblood/script/backup.sh > /dev/null 2>&1
여기서 > /dev/null 2>&1 은 standard out 과 standard error 를 모두 /dev/null (블랙홀) 로 보내서 무시하겠다는 의미이다.
여기까지 작업을 해 놓으면, 나의 Notebook 은 평일(월,화,수,목,금) 오전 9시 30분마다 백업을 수행한다.
여기서 ssh login 할때, 패스워드를 물어보지 않고 접속을 허용하게 설정을 해 놓아야 하는데, 이는 아래 사이트에서 자세하게 소개했으니 참고하도록 한다.
ssh 로그인시 패스워드 물어보지 않고 로그인 하기
http://www.linuxhorizon.ro/ssh-wo-passw.html
본인이 백업을 하기위해서 참고한 사이트 정보
http://www.mikerubel.org/computers/rsync_snapshots/
starblood
2011.10.25 10:51 댓글수0 공감수 0
데이터 백업은 아무리 강조해도 지나치지 않는다. 본인은 하드디스크의 신뢰성이 얼마나 좋은 지 잘 모른다.
하지만 하드디스크는 보통 2년 이내에 고장이 나는 것 같다.
그래서 제일 안전한 백업 방법은 데이터를 DVD 같은 read only 매체에 저장 하는 것이라고 생각한다.
하지만 하드디스크 만큼 편리한 저장매체는 없을 것이다.
그래서 이번에 나의 소중한 데이터를 rsync 를 이용하여 백업을 하게 되었다.
rsync 는 안전하게 데이터를 동기화 하는 방법을 제공하는데, 나는 백업할 데이터가 있는 PC 를 나의 Notebook, 백업한 데이터를 저장할 곳을 백업 서버(Ubuntu Linux Server)를 구성하여 데이터를 백업하였다.
백업을 하기위한 절차는 크게 두 단계로 나눌 수 있다.
첫 째, 백업명령을 순차적으로 실행할 shell script 작성
둘 째, 백업을 주기적으로 실행하도록 crond 설정
1. 백업 명령을 실행할 shell script 작성
backup.sh
#!/bin/bash
# Backup eclipse projects
rsync -a -e ssh --delete /Users/starblood/project/eclipse/ starblood@192.168.20.92:/home/starblood/backup/eclipse/
위의 backup.sh 는 rsync 를 이용하여 archive mode 로 ssh remote shell 을 통하여 백업을 하되, /Users/starblood/project/eclipse/ 디렉토리(source) 아래에 있는 모든 데이터들을 192.168.20.92 Server 의 ~/home/starblood/backup/eclipse/(destination) 디렉토리 아래에 복사를 한다. 이 때 백업할 source 에 없는 디렉토리가 있으면 destination 디렉토리에서도 삭제를 수행하게 된다.
2. 백업을 주기적으로 실행하도록 crond 설정
crontab 명령어를 이용하여 crond 의 설정을 한다. 이때 -e (edit option) 옵션을 준다.
$ crontab -e
# Run backup script every Mon,Tue,Wed,Thu,Fri, 9:30 AM
# m h dom mon dow command
30 9 * * 1,2,3,4,5 /Users/starblood/script/backup.sh > /dev/null 2>&1
여기서 > /dev/null 2>&1 은 standard out 과 standard error 를 모두 /dev/null (블랙홀) 로 보내서 무시하겠다는 의미이다.
여기까지 작업을 해 놓으면, 나의 Notebook 은 평일(월,화,수,목,금) 오전 9시 30분마다 백업을 수행한다.
여기서 ssh login 할때, 패스워드를 물어보지 않고 접속을 허용하게 설정을 해 놓아야 하는데, 이는 아래 사이트에서 자세하게 소개했으니 참고하도록 한다.
ssh 로그인시 패스워드 물어보지 않고 로그인 하기
http://www.linuxhorizon.ro/ssh-wo-passw.html
본인이 백업을 하기위해서 참고한 사이트 정보
http://www.mikerubel.org/computers/rsync_snapshots/