11.Nas_1


SSH키를 이용한 RSYNC 서버계정 백업법


  • 링크


  • 컨텐츠 정보


    본문

    SSH키를 이용한 RSYNC 백업법
    ============================
    A 서버 : 백업대상 서버 (원본서버)  A서버계정:suhan
    B 서버 : 백업진행 서버 (백업서버)  B서버계정:inkaftp

    시나리오:  B 서버는 A 서버의 특정 계정으로 자동로그인 하여 A 의 내용을 B로 Rsync 한다.
    ======================================================================================

    1> 키생성
    B 서버에서 키를 생성해보도록 하겠다. 
    키는 생성하는 위치가 중요한것이 아니라 개인키를 가진쪽이 공개키를 가진쪽으로 접속한다.

    [inkaftp@edutotal ~]$ ssh-keygen -d -t rsa
    Generating public/private rsa key pair.
    Enter file in which to save the key (/home/inkaftp/.ssh/id_rsa): 
    Created directory '/home/inkaftp/.ssh'.
    Enter passphrase (empty for no passphrase): <ENTER>
    Enter same passphrase again: <ENTER>
    Your identification has been saved in /home/inkaftp/.ssh/id_rsa.
    Your public key has been saved in /home/inkaftp/.ssh/id_rsa.pub.
    The key fingerprint is:
    11:ce:7a:2d:60:0d:09:b3:2a:8b:3f:de:9a:8f:96:20 inkaftp@edutotal.com

    RSA 방식으로 키를 만들었으며 , 패스워드는 넣지 않았다.

    .pub 파일이 공개키이며 이파일은 접속을 당할 서버 즉 A서버의 접속할 계정에 심어야 된다.

     

    2> 공개키를 전송한다.
    #scp /home/inkaftp/.ssh/id_rsa.pub suhan@A서버아이피:~/.ssh/autorized_keys   
    (키가여러개일때는 뒤에 숫자를 붙인다 keys2...)
    .ssh 디렉이 없으면 먼저 만들어두도록 한다

    패스워드 묻어볼것이다... 중략...

     

    3> B서버에서 A 서버로 접속테스트 해본다.
    # ssh  -i /home/inkaftp/.ssh/id_rsa suhan@A서버아이피
    RSA key fingerprint is 03:c0:4d:25:a6:5d:0c:41:70:a7:11:0e:f7:12:ee:c8.
    Are you sure you want to continue connecting (yes/no)? yes <ENTER>

    정상접속이 된다면 성공이다.


    4> RSYNC 에 걸어보자

    서버가 여러개일 경우 관리를 위해 개인키 id_rsa 파일을 알아보기 쉽게 계정과 서버아이피로 이름을바꾼후에  -i 옵션으로 로딩한다. 
    # mv /home/inkaftp/.ssh/id_rsa  /home/inkaftp/.ssh/suhan_AServer

    #rsync -avzrt --delete -e "ssh -i /home/inkaftp/.ssh/suhan_AServer" suhan@A서버아이피:/home/suhan/www /home/inkaftp/backup
    #rsync -avzrt --delete --rsh="ssh -i /home/inkaftp/.ssh/suhan_AServer -l suhan" A서버아이피:/home/suhan/www /home/inkaftp/backup

    위의 2개 모두 정상 동작할것이다.


    5> B서버의 inkaftp Cron 에 등록한다.
    [inkaftp#B서버]$ vi /home/inkaftp/rsync_cron_exe.sh
    #!/bin/bash
    rsync -avzrt --delete -e "ssh -i /home/inkaftp/.ssh/suhan_AServer" suhan@A서버아이피:/home/suhan/www /home/inkaftp/backup
    만든 파일에 실행권한을 준다.

    [inkaftp#B서버]$ crontab -e
    30 4 * * * /home/inkaftp/rsync_cron_exe.sh | mail -s [백업알리미] 내멜주소   <=결과를 메일로 보내준다.

     


    PS. 서버내에 공간이충분하고 파티션이나 드라이버가나눠져 있다면 매일 매일 내부백업을 해두는것도 도움이 될것이다.
    vi /etc/cron.daily/rsync_exe.sh
    #!/bin/bash
    rsync  -avzrt --delete /home/mainweb/www  /home1

     

     

    만약 보안상의 이유로 키에 패스워드를 걸경우는 expect 를 사용하면 자동화가 가능하다

    수환이의 간단 expect 사용법 참조...

     

     

     http://blog.naver.com/forioso/10025992292

    >\r\n>\r\n>\r\n♠ 출처는 링크 참조 바랍니다. https://11q.kr ♠
    뷰PDF add1,add2



    관련자료

    댓글 0
    등록된 댓글이 없습니다.


    전체 1,749 / 54 페이지
    전체 1,749 / 54 페이지



    ♥간단_메모글♥


    최근글


    새댓글



    PHP 안에 HTML ☞ 홈페이지 화면갱신 시간은 ♨
    ▶ 2024-05-09 09:02:46

    오늘의 홈 현황


    • 현재 접속자♨ 290 명
    • 오늘 가입자※ 0 명
    • 어제 가입자※ 4 명
    • 주간 가입자※ 12 명
    • 오늘 방문자 1,121 명
    • 어제 방문자 1,900 명
    • 최대 방문자 13,042 명
    • 전체 방문자 4,312,685 명
    • 전체 게시물※ 8,559 개
    • 전체 댓글수※ 24,579 개
    • 전체 회원수 10,956 명

    QR코드


    ☞ QR코드 스캔은 kakao앱 자체 QR코드

    알림 0








    최신글↑