로그인

검색

[rsync] 서버 백업

[rsync] 서버 백업

image.png.jpg

 

0. 명령어 예제

rsync like/photo.zip subscribe                  #like 폴더의 photo.zip 파일을 subscribe 폴더에 복사 합니다.

rsync -r like/ subscribe                 #like 폴더내 파일을 subscribe 폴더내부로 copy 합니다. (파일생성날자가 오늘로 바뀜)

rsync -a like/ subscribe                 #like 폴더내 파일을 subscribe 폴더내부로 copy 합니다. (파일생성날짜 유지) 

rsync -a --delete like/ subscribe      #subscribe 폴더에만 존재하는 파일 삭제 (양쪽 비교 후)

                                               #또는 무조건 like 폴더와 일치하게 만듭니다. (지울건 지우고)

rsync -a --remove-source-files like/ subscribe        #like 폴더파일을 suscribe 폴더로 옮기고, like 폴더내 파일은 지운다

                                                                   (단, 빈 폴더는 흔적이 남아 있습니다. 따로 지워야 합니다.)

 

**리모트서버

rsync -ahPz like [email protected]:/root          #like 폴더를 리모트 서버의 root 디렉토리 내부에 copy 한다

#해석

-ahPze ; a 파일날짜유지 (attribute)     h 파일용량 보기편하게표시(human)     

           P 파일이동진행상황표시+중지 후 연결진행 (progress +  partial)

           z 압축해서 파일이동 

 

rsync -ahPz [email protected]:/root/like/ like01/      #리모트서버 like 폴더내부 파일을 내 로컬 like01 폴더 내부에 복사한다

 

 

 

1. 서버1와 서버2 접속 하기

- 공개키와 개인키 만들고, 어느쪽에서 어느쪽으로 접속 할지 정합니다.

예를 들어 서버1 에서 서버2로 접속할 거면, 서버1(private keys) 이고, 서버2 (public keys and authorized_keys) 입니다.

 

이때, 각 서버의 ssh 버전을 확인합니다.

만일 ssh 버전이 서로 다르면, 버전이 높은 쪽에서 하위버전으로 접속해야 합니다. 

 

서버1

hhh@hcp:~/web$ ssh -V
OpenSSH_8.9p1 Ubuntu-3ubuntu0.1, OpenSSL 3.0.2 15 Mar 2022

 

서버2

[ddd@server2 ~]$ ssh -V
OpenSSH_5.3p1, OpenSSL 1.0.1e-fips 11 Feb 2013

 

서버2가 낮은 버전을 사용합니다. 그래서 서버1에서 서버2로 접속해야 합니다.

반대로 하면 (서버2 -> 서버1), 아래와 같이 error 가 발생합니다.

[ddd@server2 ~]$ ssh [email protected]
no hostkey alg

 

접속 방향을 정했으니 (서버1 -> 서버2), 공개키와 개인키를 만들어 배치해야 합니다.

서버1에서 keys 를 만들어 줍니다.

$ ssh-keygen -t rsa

서버2에 공개키를 보내야 합니다. 공개키는 서버2 authorized_keys 파일에 기록하면 됩니다.

** 아래내용참조

[ssh, public keys, private keys] SSH 접속시 공개키, 개인키

 

 

** 키 알고리즘 사용 (상위버전에서 하위버전 접속할때, 사용할 알고리즘을 밝혀 줍니다.)

서버1에서 서버2로 접속할때,

ssh -oHostKeyAlgorithms=ssh-rsa [email protected]

 

접속이 가능함을 확인 했으면, rsysnc 를 실행해 봅니다.

(서버1 테미널에서 실행)

rsync -ahPze 'ssh -p 21098 -oHostKeyAlgorithms=ssh-rsa' [email protected]:/home/ddd/public_html/com/ /home/hhh/web/org/

 

#해석

-ahPze ; a 파일날짜유지 (attribute)     h 파일용량보기편하게표시(human)     

           P 파일이동진행상황표시+중지 후 연결진행 (progress +  partial)

           z 압축해서 파일이동                    e 따움표 사용해서 추가사항 입력

-p 21098     사용포트가 특별할 경우

-oHostKeyAlgorithms=ssh-rsa             사용할 키알고리즘을 알려줌

[email protected]:/home/ddd/public_html/com/                서버에 접속해서 com 폴더 내용을 copy 합니다.

/home/hhh/web/org/                        내 서버의 org 폴더에 copy 합니다.

 

 

 

2. 서버1에서 서버2로 연결시 키알고리즘 에러 발생 (-oHostKeyAlgorithms=ssh-rsa)

hhh@hcp:~/web/org$ ssh -p 21098 [email protected]
Unable to negotiate with 90.90.90.90 port 21098: no matching host key type found. Their offer: ssh-rsa,ssh-dss

 

 

 

이 게시물을

이 댓글을 삭제하시겠습니까?