[Linux] rsync를 이용해 로컬 또는 원격에 파일 복사하기

Linux 기반 운영체제에서 rsync 명령어에 대해서 알아보자.


환경 및 선수조건

  • Linux
  • Bash shell(/bin/bash)


rsync 명령어

기본

  • rsync : Remote Sync의 줄임말로 여러가지 옵션을 이용해 원격 또는 로컬에 파일을 복사하는 툴입니다.
  • rcp 그리고 scp와 같이 원격에 파일을 복사할 때 사용하는 기본 내장 명령어입니다. 원격 컴퓨터에 파일을 전달할 수 있을뿐만 아니라 로컬에 있는 파일로 복사도 가능합니다.
  • 옵션이 정말 다양하게 많으며 많은 옵션들을 이용해 다양한 기능들을 활용할 수 있습니다.(symlink 유지, 권한 유지 그리고 파일 날짜 유지와 같은 기능들)


기본 사용법

  • manual page에 있는 자료
rsync [options ...] [source] [target]

옵션

  • -v : verbosity를 높이는 옵션으로 복사하는 과정을 더 자세하게 보여줍니다.
  • -z : compress를 주는 옵션으로 파일을 복사할 때 압축해서 복사합니다.
  • -h : 사람이 읽기 쉬운 형태로 복사 결과들을 출력해줍니다.
  • -a (same as -rlptgoD) : archive 모드로 -rlptgoD 옵션을 적용한것과 같습니다. 해당 옵션들은 아래서 설명하며 symlink, 권한 그리고 timestamp와 같은 속성들을 그대로 복사합는 옵션입니다.
  • -r : 디렉토리를 복사할 때 사용하는 옵션입니다.
  • -l : symlink는 symlink 형태로 복사하는 옵션입니다.
  • -p : 파일과 디렉토리들의 권한을 유지하는 옵션입니다.
  • -t : 수정시간을 유지하는 옵션입니다.
  • -g : 그룹 속성을 유지하는 옵션입니다.
  • -o : 소유자 속성을 유지하는 옵션입니다.
  • -D (same as --devices --specials) : --devices --specials)의 옵션과 같습니다.
  • --devices : root 권한이 필요하며 Device 관련된 파일들을 복사해서 생성해줍니다.
  • --specials : named socket이나 fifo와 같은 특수한 파일들도 복사하는 옵션입니다.


예제

  • 로컬 파일 복사
# rsync [File Name] [Target Path]

rsync -avzh test_file.txt /tmp
  • 로컬 폴더 복사
# rsync [Directory Name] [Target Path]

rsync -avzh test_directory /tmp


# 폴더 내 모든 파일들 복사
# rsync [Directory Name]/ [Target Path]

rsync -avzh test_directory/ /tmp
  • 원격 파일 복사
# rsync [File Name] [User]@[IP Address]:[Path]

rsync -avzh test.txt twpower-private-server:~
rsync -avzh test.txt twpower@192.168.1.2:~
  • 원격 폴더 복사
# rsync [Directory Name] [User]@[IP Address]:[Path]

rsync -avzh test.txt twpower-private-server:~
rsync -avzh test.txt twpower@192.168.1.2:~


# 폴더 내 모든 파일들 복사
# rsync [Directory Name]/ [User]@[IP Address]:[Path]

rsync -avzh test_directory/ twpower-private-server:~
rsync -avzh test_directory/ twpower@192.168.1.2:~


참고자료

[Python] pdb를 이용해 파이썬 코드 디버깅하기

> pdb를 이용해 python 코드를 디버깅하는 방법을 알아보자.## 환경- Linux 기반 시스템- Bash shell(/bin/bash)- Python## pdb### pdb란?- ```pdb``` : 파이썬 디버깅 도구로 파인썬 인터프리터...… Continue reading