리눅스 / rsync / 동기화 프로그램

rsync는 동기화 프로그램이다. 백업할 때 유용하게 사용할 수 있다.

사용법

기본

  • abc 디렉토리 안의 def 디렉토리를 xyz 디렉토리 안에 동기화시킨다.
  • 처음 실행하는 것이라면 xyz 디렉토리 안에 def 디렉토리가 복사된다.
  • 다시 실행시키면 /abc/def 디렉토리의 내용 중 수정되거나 추가된 것만 /xyz/def 디렉토리로 복사된다.
  • /abc/def에서 삭제된 내용은 /xyz/def에 반영되지 않는다.
# rsync -avz /abc/def /xyz
  • def 뒤에 /를 붙이면 def 디렉토리 안에 있는 폴더와 파일들만 동기화된다. 즉, xyz 디렉토리 안에 def 디렉토리가 생기지 않는다.
# rsync -avz /abc/def/ /xyz

삭제 파일도 동기화하기

  • --delete 옵션을 추가하면, /abc/def에서 삭제된 것은 /xyz/def에서도 삭제된다.
# rsync -avz --delete /abc/def /xyz

특정 디렉토리 제외하기

  • abc 디렉토리 안에 있는 abc-2 디렉토리를 제외하고 동기화한다.
# rsync -avz --exclude 'abc-2' abc xyz

다른 서버와 동기화

  • ssh로 다른 서버에 접속하여 동기화할 수 있다.
  • 도메인 대신 IP를 적어도 되고, 같은 네트워크에 있다면 호스트네임을 적어도 된다.
# rsync -avz --delete -e ssh root@abc.com:/abc/def /xyz
  • ssh 포트를 다른 것으로 사용할 수 있다.
# rsync -avz --delete -e "ssh -p 2345" root@abc.com:/abc/def /xyz

sshpass

  • sshpass를 이용하면 비밀번호 입력을 따로 할 필요가 없다.
# rsync -avz --delete /abc/def --rsh="sshpass -p password ssh -p 2345" root@abc.com:/xyz
같은 카테고리의 다른 글

리눅스 / 명령어 / ls / 디렉토리와 파일 목록 출력하는 명령어

ls는 list의 약어로, 디렉토리와 파일 목록을 출력하는 명령어이다. ls 디렉토리명 디렉토리에 속한 디렉토리와 파일 목록을 출력한다. 숨김 파일은 나오지 않는다. 디렉토리명을 생략하면 현재 디렉토리에 속한 디렉토리와 파일 목록을 출력한다. 예를 들어 다음과 같이 명령하면 /var 디렉토리에 속한 디렉토리와 파일 목록을 출력한다. # ls /var ls -a, ls -l -a 옵션을 붙이면 숨김 파일도 출력한다. -l 옵션을 붙이면 소유자, 파일 ...

CentOS 7 / Apache / 하나의 서버에 여러 사이트 운영하기

CentOS 7 / Apache / 하나의 서버에 여러 사이트 운영하기

하나의 서버에 하나의 사이트만 운영하는 것이 가장 이상적일 것입니다. 하지만 사이트 접속자가 많지 않거나 서버 사양이 훌륭하다면 여러 사이트를 하나의 서버에서 운영하는 게 경제적입니다. CentOS에 Apache 웹서버를 설치하고 운영하는 경우 여러 사이트를 운영할 수 있게 설정하는 방법을 요약해보겠습니다. 네임 서버 설정 각 도메인의 네임 서버의 호스트 IP를 웹서버 아이피로 설정합니다. 디렉토리 만들기 한 서버에 aaa.com과 ...

리눅스 / 명령어 / scp

scp는 ssh 프로토콜을 이용하여 파일을 송수신하는 명령어이다. local → remote remote → local remote → remote 모두 가능하다. local → remote 파일 복사 # scp a.txt root@192.168.3.211:/temp/a.txt root@192.168.3.211's password: 명령어를 실행한 디렉토리에 있는 a.txt 파일을 192.168.3.211 컴퓨터에 root 계정으로 연결하여 복사한다. 원격 컴퓨터에 /temp 디렉토리가 없으면 복사되지 않는다. 원격 컴퓨터에 /temp 디렉토리가 있으면 a.txt로 복사된다. a.txt 파일이 이미 있다면 덮어쓴다. root 계정의 ...

리눅스 / 명령어 / cal / 달력을 출력하는 명령어

cal은 달력을 출력하는 명령어이다. 아무 옵션 없이 사용하면 현재 날짜가 속한 달의 달력을 출력한다. cal October 2022 Su Mo Tu We Th Fr Sa 1 2 3 4 5 ...

리눅스 / 명령어

명령어 개요 adduser 사용자 추가하는 명령어. alias 명령어 별칭을 만든다. cal calendar. 달력을 출력하는 명령어. cat concatenate. 파일 내용 출력하는 명령어. cd change directory. 다른 디렉토리로 이동하는 명령어. chmod 파일 또는 디렉토리의 읽기, 쓰기, 실행 권한 설정하는 명령어 chown 파일 또는 디렉토리의 소유자(그룹) 설정하는 명령어 clear 터미널 화면의 내용을 다 지운다. cp copy. 파일 또는 디렉토리 복사. du disk usage. 디스크 사용량 출력. file 파일의 종류를 출력하는 명령어 find 파일 또는 디렉토리를 검색하는 명령어 free 메모리 사용량 ...

리눅스 / RAID / Linear RAID, RAID0, RAID1, RAID5, RAID6

RAID 뜻과 종류 RAID Redundant Array of Inexpensive Disk or Redundant Array of Independent Disk 여러 개의 하드디스크를 하나처럼 사용하게 하는 기술. 예를 들어 1TB 하드디스크 두 개를 묶어서 2TB 하드디스크처럼 사용할 수 있다. 크게 하드웨어 RAID와 소프트웨어 RAID로 구분할 수 있다. 하드웨어 RAID는 성능이 좋으나 비싸다. 소프트웨어 RAID는 운영체제에서 지원하는 것으로 OS RAID라고도 한다. Linear RAID 두 ...

CentOS 7 / 고정 IP 설정하는 방법

CentOS 7 / 고정 IP 설정하는 방법

CentOS를 설치할 때 네트워크를 설정할 수 있다. GUI 환경이므로 네트워크 설정을 알고 있다면 쉽게 고정 IP로 설정할 수 있다. 만약 DHCP로 설치했다면 다음과 같은 방법으로 고정 IP 설정을 할 수 있다. 네트워크 설정 파일 수정 네트워크 설정 파일은 /etc/sysconfig/network-scripts에 있다. 파일 이름은 ifcfg-enp0s3 처럼 생겼다. 텍스트 에디터로 열면 다음과 같이 설정되어 있다. TYPE="Ethernet" PROXY_METHOD="none" BROWSER_ONLY="no" BOOTPROTO="dhcp" DEFROUTE="yes" IPV4_FAILURE_FATAL="no" IPV6INIT="yes" IPV6_AUTOCONF="yes" IPV6_DEFROUTE="yes" IPV6_FAILURE_FATAL="no" IPV6_ADDR_GEN_MODE="stable-privacy" NAME="enp0s3" UUID="91af51db-7cf0-4069-9433-77d356b31bca" DEVICE="enp0s3" ONBOOT="yes" CentOS 버전 ...

Ubuntu 22.04 Server / ZIP 압축 파일 푸는 방법

ZIP 파일을 압축 해제하기 위해서는 unzip 패키지가 필요하다. # apt install unzip xxx.zip 파일을 압축 해제하려면 다음과 같이 명령한다. # unzip xxx.zip 다음과 같이 명령하여 도움말을 볼 수 있다. # unzip -h 결과는 다음과 같다. UnZip 6.00 of 20 April 2009, by Debian. Original by Info-ZIP. Usage: unzip Default ...

CentOS 7 / SELinux 끄는 방법

CentOS 7 / SELinux 끄는 방법

방법 1 다음과 같이 명령하면 SELinux가 꺼진다. 재부팅하면 다시 SELinux가 켜진다. setenforce 0 만약 다시 SELinux를 사용하고 싶다면 다음과 같이 명령한다. setenforce 1 방법 2 /etc/selinux/config에 다음과 같은 코드가 있다. SELINUX=enforcing 다음과 같이 바꾼다. SELINUX=disabled 시스템을 재부팅하면 적용된다. 방법 1과는 달리 재부팅해도 설정이 유지된다.

Ubuntu 20.04 Server / 설치하기

Ubuntu 20.04 Server / 설치하기

다운로드 Ubuntu Server 다운로드 페이지는 다음과 같다. https://ubuntu.com/download/server 최신 버전에 대한 안내가 주로 있으므로, 구버전을 다운로드하고 싶다면 아래 링크가 편하다. https://mirror.kakao.com/ubuntu-releases/ 가상 머신에 설치한다면 다운로드한 ISO 파일을 그대로 사용하면 되고, 물리 서버에 설치한다면 Rufus 같은 툴을 이용하여 부팅 USB를 만든다. 설치 설치 미디어로 부탕하고 잠시 기다리면 언어를 선택하는 화면이 나온다. 원하는 언어를 선택하고 엔터키를 누른다. 키보드 레이아웃을 선택한다. 네트워크 ...