레이블이 rsync인 게시물을 표시합니다. 모든 게시물 표시
레이블이 rsync인 게시물을 표시합니다. 모든 게시물 표시

docker save and load image

# 현재 로컬에 운영중인 컨테이너를 이미지로 만들기
docker commit -m test_message container ysoftman/centos_simple:latest

# 로컬에 빌드된 이미지를 .tar 파일로 아카이빙
docker save -o ysoftman-app.tar ysoftman/centos_simple:latest

# 원격 호스트에 파일 복사
rsync -avz ysoftman-app.tar ysoftman@remotehost:~/

# 원격 호스트에서 .tar 파일 로딩하면 docker images 로 이미지가 있는것을 알수 있다.
docker load -i ysoftman-app.tar

zsh noglob alias

# zsh 환경에서 rsync, scp 사용시 *.txt 와 같은 glob (또는 wild) 표현이 동작하지 않는다.

rsync *.txt ./a
*.txt" failed: No such file or directory (2)

scp *.txt ./a
cp: *.txt: No such file or directory

# zsh 에서 다음과 같은 명령들을 noglob 으로 alias 해놨기 때문이다.
alias | rg noglob
bower='noglob bower'
fc='noglob fc'
find='noglob find'
ftp='noglob ftp'
globurl='noglob urlglobber '
history='noglob history'
locate='noglob locate'
rake='noglob rake'
rsync='noglob rsync'
scp='noglob scp'
sftp='noglob sftp'


# \로 alias 를 사용하지 않던가
\rsync *.txt ./a
\scp *.txt ./a


# unalias 를 해야 된다.
unalias bower 2> /dev/null
unalias fc 2> /dev/null
unalias find 2> /dev/null
unalias ftp 2> /dev/null
unalias globurl 2> /dev/null
unalias history 2> /dev/null
unalias locate 2> /dev/null
unalias rake 2> /dev/null
unalias rsync 2> /dev/null
unalias scp 2> /dev/null
unalias sftp 2> /dev/null

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/