테스트 환경
- 백업대상서버(1) : 1.1.1.1 ssh포트는 22번
- 백업대상서버(2) : 1.1.1.2 ssh포트는 보안으로 100번사용중
- 백업서버 : 2.2.2.2
■ 포트및 접속, 데먼에 대한 이해
- 백업대상인 1.1.1.1, 1.1.1.2는 rsync가 깔리지 않아도 된다.
- 2.2.2.2는 rsync구동프로그램이 반드시 깔려야 한다.
[1.1.1.1의 백업]
rsync -avPz --stats -l -t -e ssh 아이디@1.1.1.1:/.backup/ /.backup/start1/
[1.1.1.2의 백업]
rsync -avPz --stats -l -t -e ssh 아이디@1.1.1.2#100:/.backup/ /.backup/www2/
□ cron으로 구성시 백업스크립트작성
백업스크립트작성
의존 프로그램:expect
※설치
#yum install expect
스크립트 명:wwwbk1.sh
#!/usr/bin/expect -f
## 1.1.1.1
log_user 0
spawn rsync -avPz --stats -l -t -e ssh 아이디@1.1.1.1:/.backup/ /.backup/start1/
expect "password: "
send "비밀번호\n"
log_user 1
interact
## 1.1.1.2(포트가 다른 경우)
log_user 0
spawn rsync -avPz --stats -l -t -e ssh 아이디@1.1.1.2#100:/.backup/ /.backup/www2/
expect "password: "
send "비밀번호\n"
log_user 1
interact
테스트(절차숙지)
1) expect 를 설치하라.
2) /usr/bin/expect -f wwwbk1.sh <---이렇게 테스트해보라(에러출력됨)
3) expect
> log_user 0
1
....
exit
이런식으로 expect명령으로 각 줄을 입력 테스트해보라~
□ crontab의 작성
※새벽4시경에
#crontab -e 로 이하를 추가
#remote backup www server 6:00
00 4 * * 5 root /sbin/e2fsck -p /dev/hdb1
01 4 * * 1 root /backupscripts/wwwbk1.sh
01 4 * * 2 root /backupscripts/wwwbk1.sh
01 4 * * 3 root /backupscripts/wwwbk1.sh
01 4 * * 4 root /backupscripts/wwwbk1.sh
01 4 * * 5 root /backupscripts/wwwbk2.sh
01 4 * * 6 root /backupscripts/wwwbk2.sh
01 4 * * 0 root /backupscripts/wwwbk2.sh
위에 작성한 문서를 wwwbk1.sh 와 wwwbk2.sh로 폴더를 다르게한 후,
월-목 : wwwbk1실행하여 /bk/백업1/
금-일 : wwwbk2실행하여 /bk/백업2/