ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • lftp로 백업/미러링 하기
    Flower in my ops/Linux 2015. 6. 1. 09:49

    [출처]태효의 세상사는 이야기 http://taehyo.egloos.com/4264539#comment_4264539

     

     

    자료를 통채로 A 서버에서 B 서버로 옮겨야 할 일(미러링)이 생겨서

    처음에는 rsync를 사용하려다가 A 서버 쪽에 rsync 설정을 해줘야 하는 불편함이 있어서 찾다보니

    lftp 라는 command-line ftp 프로그램이 있다는 것을 발견하였다.

    별다른 설정도 필요치 않고 대부분의 Redhat 기반 linux에 설치가 되어있다고 한다.

    다른 ftp 클라이언트는 어떤지 모르겠는데 lftp의 경우 -e 옵션으로 세미콜론으로 구분된 명령을 실행시킬 수 있다.

    예를 들어

      lftp -u 사용자 sftp://주소 -e "cd /home/target_dir; put /home/source_dir/data.txt; exit;"

    의 형식이다.

    풀어서 적어보면

      sftp 사용자@주소
      cd /home/target_dir
      put /home/source_dir/data.txt
      exit

    이렇게 될 것이다.

    그렇다면 미러링은 어떻게 해야할까.

    미러링에 대해 살펴보기 전에 일단 유용하게 사용되는 옵션을 살펴보면 아래와 같다.

      --delete                  remote site에 없는 파일 삭제
      --only-existing          target에 존재하는 파일만 다운로드
      --only-newer           새로운 파일만 다운로드
      --no-recursion          subdirectory는 무시
      --reverse                역방향으로 mirror (get이 아닌 put)

    위의 옵션을 사용한 미러링 명령은 아래와 같다.

      lftp -u 사용자 stfp://주소 (-p포트) -e "mirror --only-newer /home/source_dir /home/target_dir"


    이 명령은 A 서버를 미러링하고자 하는 B 서버에서 실행 할 때 사용할 수 있다.

    A 서버에서 B 서버로 미러링을 할 때는 아래와 같이 reverse 옵션을 주면 된다.

      lftp -u 사용자 stfp://주소 (-p포트) -e "mirror --reverse --only-newer /home/source_dir /home/target_dir"

    하지만 직접 사용해 본 결과 한가지 단점(?)이 있는데 symbolic link는 미러링되지 않는 다는 점이다.

    당연한건가?


    출처
    http://docs.cena.co.kr/?mid=textyle&document_srl=13497
    http://linux.overshoot.tv/wiki/networking/lftp_backup_and_mirroring
    http://en.wikipedia.org/wiki/Lftp

    'Flower in my ops > Linux' 카테고리의 다른 글

    tmux 사용  (1) 2015.06.01
    파일비교  (0) 2015.06.01
    find  (0) 2015.05.12
    iptalbes  (0) 2015.05.08
    tar 압축  (0) 2015.04.30

    댓글

Designed by Tistory.