BLOG main image
분류 전체보기 (117)
Hidden (1)
five senses (0)
safe system (77)
code (35)
database (1)
Link (0)
Visitors up to today!
Today hit, Yesterday hit
daisy rss
tistory 티스토리 가입하기!
2008. 5. 10. 05:00

나만의 쉬운 예:
101 서버에서 108 서버로 scp를 이용하여 test.sh 파일을 복사할 경우,
101: scp test.sh root@108:/root/test.sh
-> passworld 물어본다. ;;
1. 101서버에서 공개키를 만든다. (위과정대로;;)
2. 1.에서 만들어진 공개키(*.pub) 파일을 108 서버의 /root/.ssh/authorized_keys로 copy한다.
3. 101서버에서 scp test.sh root@108:/root/test.sh 명령을 시도한다.
-> password 안 물어본다. ^^


목적

여러개의 같은 서버(클러스터/LVM등) 가 있을 때 변경된 내용을 여러개의 다른 서버에서 적용하기 위함. (CVS처럼 사용하기 위한 경우도 종종 있음)

 

사양/설치

Redhat Fedora core 2 에서 freshrpms의 apt-get 을 설치하고 rsync 를 설치

rsync(TCP/873)서버를 이용하거나 SSH를 이용해서 전송 받을 수 있음.

그 중에서 SSH를 이용한 인증/접속을 이용할 것임.

 

설정

SSH를 이용하기 때문에 /etc/rsync.conf 등을 생성하거나 수정할 필요가 없다. 그리고 따로 데몬을 돌릴 필요도 없다.

원본이 들어있는 서버를 www1 라고 하고 백업을 만들 (target)서버를 www2 라고 하면

 

1. 우선 ssh key file을 생성한다.

[root@www2 ~#] ssh-keygen -d

실행하면 어디다 저장할 것인지 패스워드는 어떻게 할것인지 물어보는데 패스워드는 그냥 엔터를 치면 나중에 패스워드 없이 진행할 수가 있다.(이게 더 편하다)

 

2. www1에 복사
[root@www2 ~#] scp -p /root/.ssh/id_dsa.pub root@www1:~/.ssh/authorized_keys2

 

3. password file 작성

cat > .rsync_password 등으로 이름을 적당히 만들어서 패스워드(root)를 입력

 

실행

옵션을 보면 -a(archive)와 -z(comress)는 기본적으로 쓰이고, 추가로 --delete 와 -u(update)는 필요에 따라 사용할 수 있다.(쉘에서 실행하면 -v(verbose)로 전송되는 내용을 자세히 볼 수 있다)

[root@www2 ~#] rsync -azv -e ssh --password-file=/root/.rsync_password www1:/home/* /home/