lftp를 이용한 백업과 미러링(mirror), 한글파일명 전송

rsync를 이용해서 미러링이 불가능한 상황에 lftp를 사용해서 미러링이 가능하여 찾아보았다.

 

아래와 같이 디렉토리가 있다 가정한 상황에서

A서버의 /home/source_dir

B서버의 /home/target_dir

 

1. A서버 -> B서버로 mirror, A서버에서 실행

lftp -u (username) ftp://(address) (-p포트) -e “mirror –reverse /home/source_dir /home/target_dir”

 

2. A서버 -> B서버로 mirror, B서버에서 실행

lftp -u (username) ftp://(address) (-p포트) -e “mirror /home/source_dir /home/target_dir”

 

3. 옵션

–delete 리모트 사이트에 없는 파일은 삭제한다

–only-existing 타겟 사이트에 존재하는 파일만 다운로드한다

–only-newer 새로운 파일만 다운로드한다

–no-recursion 서브디렉토리를 무시한다

-reverse 역방향 mirror

 

4. 한글문제(euc-kr)

utf-8 환경에서 한글파일명을 전송할 경우 문제가 발생되었다.

해결을 위해서 /etc/lftp.conf 파일을 수정한다.

man lftp 로 찾아보면 아래와 같은 설정이 있다.

set file:charset utf-8
set ftp:charset euc-kr

위 두줄을 /etc/lftp.conf 파일에 추가해준다.