Linux rsync 사용

# 설정 파일 수정
sudo vi /etc/xinetd.d/rsync
disable = no

# 원격 호스트의 rsyncd.conf 수정 (없으면 생성)
sudo vi /etc/rsyncd.conf
[test1]
path = /home/ysoftman/test1 #rsync 할 경로
uid = ysoftman #rsync 실행할 유저
gid = ysoftman #rsync 실행할 그룹
use chroot = yes
read only = yes
max connection = 5
timeout = 300

# rsync 포트 설정 변경
sudo vi /etc/services
rsync           10000/tcp

# 재시작
sudo /etc/init.d/xinetd restart

# 원격 호스트 -> 로컬호스트 경로로 가져오기(복사하기)
# -a 파일 속성(퍼미션, 소유자..) 유지
# -r 리커시브
# -v verbose
# -z 압축하여 전송
# --progress 진행상황 표시
# --exclude="*.o" .o 파일은 제외
# --exclude="*.so" .so 파일은 제외
# --bwlimit=10000 10000KBPS 대역폭 제한
# ysoftman@host: 형식을 사용하면 ssh(22번포트) 를 사용하게 된다.
rsync -arvz --progress --exclude="*.o" --exclude="*.so" --bwlimit=10000 ysoftman@remotehost:/home/ysoftman/test1/ ./test1

# 로컬 호스트에서 원격 호스트의 test1 설정이용하여 복사해오기
rsync -avz --progress --bwlimit=10000 --port=10000 remotehost::test1 ./test1 ./

# 로컬의 apple,lemon 디렉토리 -> 원격호스트 apple,lemon 디렉토리에 복사
# -R, --relative  use relative path names
ssh ysoftman@remotehost "mkdir -p test1/{apple,lemon}"
rsync -avz --relative apple/* lemon/* ysoftman@remotehost:~/home/ysoftman/test/

# ssh -i .pem 파일로 접속하는 원격호스트에 복사하기
# -e, --rsh=COMMAND  specify the remote shell to use
rsync -avz --rsh="ssh -i ~/.ssh/ysoftman-remotehost.pem" ysoftman.txt ysoftman@remotehost:/home/ysoftman/

comments:

댓글 쓰기