CentOS
yum install rsync
Ubuntu
apt-get install rsync
1) 먼저 동일 서버에서 디렉토리간 동기화 방법입니다.
$rsync -avz /home/user1/one /home/user1/two
2) 다음은 다른 서버로 부터 동기화 하는 예 입니다.
- rsync 데몬을 이용하는 방법 (HOSTIP::/path 형식사용 또는 rsync::// 형식사용 )
(또는 rsync 데몬을 이용하되 ssh 컨넥션 이용하는 방법)
- 리모트 쉘 ( ssh, rsh ) 를 이용하는 방법 ( HOSTIP:/path 형식사용)
rsync 데몬을 명령줄에서의 두가지 방법차이는 콜론(:) 개수 차이 입니다. 콜론 개수에 따라 rsync는 리모트 쉘을 이용할지 리모트 rsync 데몬을 이용할지를 결정합니다.
첫번째 원격 접근 방법인 rsync데몬을 이용하게 되면 대상 호스트에 inetd (873포트) 에 설정을 하여 항상 데몬이 뜰 수 있도록 해주어야 하며 기본적으로 전송간 암호화는 되지 않습니다. (여기에 ssh 컨넥션을 이용하는 방법을 추가해서 암호화가 되도록 해줄 수 도 있긴 합니다.)
두번째 원격접근 방법인 리모트쉘을 이용하는 방법을 사용하게 되면 통상 ssh (22번포트)를 사용하게 되고 더불어 자동으로 암호화된 세션안에서 통신을 하게 됩니다. 별도로 데몬 설정도 불필요합니다.
여기에서는 두번째 방법인 리모트쉘을 이용하는 방법을 사용하게 될 것 입니다.
리모트쉘(ssh) 를 이용하는 전제는 ssh 패키지가 설치 되어있어야합니다. 만일 설치전이라면 ssh부터 설치하시기 바랍니다. (리모트,로컬 양쪽에 설치 되어있어야 합니다.)
$sudo apt-get install ssh
동기화 시작
$rsync -avz user2@192.168.1.51:/home/user2/three two
51번 호스트의 /home/user2/three 원본 경로전체를 two 로 동기화 한다는 뜻입니다. 이때 51번 호스트로 접속할때 사용자는 user2입니다. 콜론이 한개(:)이기때문에 ssh접속을 하게 됩니다.
그럼 실행해 봅니다.
정기적 백업의 자동화
$crontab -e
#분 시 일 달 요일 command
#30 1 2 3 * rsync ... # 3월 2일 1시 30분에 rsync ...를 실행한다. (특정일 실행)
#10 2 * * 1 rsync ... # 매주 첫날 2시 10분에 rsync...를 실행한다. (주 단위 실행)
#0 3 * * * rsync ... # 매일 3시 정각에 rsync... 를 실행한다. (매일 실행)
참조:http://funnylog.kr/439
yum install rsync
Ubuntu
apt-get install rsync
1) 먼저 동일 서버에서 디렉토리간 동기화 방법입니다.
$rsync -avz /home/user1/one /home/user1/two
2) 다음은 다른 서버로 부터 동기화 하는 예 입니다.
- rsync 데몬을 이용하는 방법 (HOSTIP::/path 형식사용 또는 rsync::// 형식사용 )
(또는 rsync 데몬을 이용하되 ssh 컨넥션 이용하는 방법)
- 리모트 쉘 ( ssh, rsh ) 를 이용하는 방법 ( HOSTIP:/path 형식사용)
rsync 데몬을 명령줄에서의 두가지 방법차이는 콜론(:) 개수 차이 입니다. 콜론 개수에 따라 rsync는 리모트 쉘을 이용할지 리모트 rsync 데몬을 이용할지를 결정합니다.
첫번째 원격 접근 방법인 rsync데몬을 이용하게 되면 대상 호스트에 inetd (873포트) 에 설정을 하여 항상 데몬이 뜰 수 있도록 해주어야 하며 기본적으로 전송간 암호화는 되지 않습니다. (여기에 ssh 컨넥션을 이용하는 방법을 추가해서 암호화가 되도록 해줄 수 도 있긴 합니다.)
두번째 원격접근 방법인 리모트쉘을 이용하는 방법을 사용하게 되면 통상 ssh (22번포트)를 사용하게 되고 더불어 자동으로 암호화된 세션안에서 통신을 하게 됩니다. 별도로 데몬 설정도 불필요합니다.
여기에서는 두번째 방법인 리모트쉘을 이용하는 방법을 사용하게 될 것 입니다.
리모트쉘(ssh) 를 이용하는 전제는 ssh 패키지가 설치 되어있어야합니다. 만일 설치전이라면 ssh부터 설치하시기 바랍니다. (리모트,로컬 양쪽에 설치 되어있어야 합니다.)
$sudo apt-get install ssh
동기화 시작
$rsync -avz user2@192.168.1.51:/home/user2/three two
51번 호스트의 /home/user2/three 원본 경로전체를 two 로 동기화 한다는 뜻입니다. 이때 51번 호스트로 접속할때 사용자는 user2입니다. 콜론이 한개(:)이기때문에 ssh접속을 하게 됩니다.
그럼 실행해 봅니다.
정기적 백업의 자동화
$crontab -e
#분 시 일 달 요일 command
#30 1 2 3 * rsync ... # 3월 2일 1시 30분에 rsync ...를 실행한다. (특정일 실행)
#10 2 * * 1 rsync ... # 매주 첫날 2시 10분에 rsync...를 실행한다. (주 단위 실행)
#0 3 * * * rsync ... # 매일 3시 정각에 rsync... 를 실행한다. (매일 실행)
참조:http://funnylog.kr/439
댓글
댓글 쓰기