리눅스 / 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
같은 카테고리의 다른 글
Ubuntu 22.04 Server / NGINX / 설치와 설정

Ubuntu 22.04 Server / NGINX / 설치와 설정

Nginx는 높은 성능과 안정성을 제공하는 웹 서버 소프트웨어로, 웹 서버 외에도 리버스 프록시, 로드 밸런서, 메일 프록시 등의 기능을 수행할 수 있다. Igor Sysoev가 2004년에 처음 개발했으며, 현재는 오픈 소스 소프트웨어로 널리 사용되고 있다. 가정 Ubuntu 22.04 Server의 IP는 192.168.3.242이고, 내 컴퓨터에서 IP로 접근 가능하다. 내 컴퓨터의 OS는 Windows이다. 설치 nginx 패키지 설치 다음과 같이 명령하여 ...

리눅스 / 배포판 / 리눅스 민트(Linux Mint) - 역사, 특징, 장점

리눅스 민트의 역사 리눅스 민트(Linux Mint)는 2006년에 클레멘트 르페브르(Clement Lefebvre)가 시작한 리눅스 배포판입니다. 초기에는 우분투(Ubuntu) 기반으로 시작했으며, 이후 사용자가 쉽고 편리하게 사용할 수 있는 운영체제를 목표로 발전해왔습니다. 리눅스 민트는 특히 윈도우 사용자가 쉽게 전환할 수 있도록 직관적인 인터페이스와 다양한 멀티미디어 코덱을 기본으로 제공하는 것으로 유명합니다. 리눅스 민트의 특징 사용자 친화적 인터페이스 리눅스 민트는 특히 ...

Ubuntu 20.04 Server / 설치하기

Ubuntu 20.04 Server / 설치하기

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

리눅스 / 명령어 / man / 명령어의 설명서 출력하는 명령어

man은 manual의 약어로, 명령어의 설명서를 출력하는 명령어이다. man 뒤에 명령어 이름을 넣고 엔터를 누릅니다. 예를 들어 # man rm 은 rm 명령어의 설명서를 출력한다. ↑ 키를 누르면 한 줄 위로 올라가고, ↓ 키를 누르면 한 줄 아래로 내려간다. Page Up 키를 누르면 한 페이지 위로 올라가고, Page Down 키를 누르면 한 페이지 아래로 내려간다. /를 ...

CentOS 7 / 다운로드 하는 방법

CentOS 7 / 다운로드 하는 방법

CentOS는 세계 곳곳의 서버에서 다운로드할 수 있습니다. 다운로드하려는 곳에서 가까운 곳에 있고 회선이 좋은 서버에서 다운로드 받아야 빠르게 다운로드 할 수 있습니다. 다행이 CentOS는 가까운 서버를 알려줘서 다운로드에 소요되는 시간을 줄일 수 있습니다. CentOS 공식 다운로드 페이지로 갑니다. 다운로드 하고 싶은 ISO를 클릭합니다. 카이스트, 카카오, 네이버 등 국내 다운로드 주소를 먼저 보여줍니다. 마음에 드는 ...

리눅스 / 명령어 / alias / 명령어 별칭 만들기

긴 명령어 또는 복잡한 명령어를 자주 사용한다면 alias를 사용하자. 시간을 많이 절약할 수 있다. alias 목록 보기 alias를 실행하면 현재 등록된 alias를 출력한다. alias 예를 들어 ll을 실행한다는 것은 ls -alF를 실행하는 것과 같다. alias egrep='egrep --color=auto' alias fgrep='fgrep --color=auto' alias grep='grep --color=auto' alias l='ls -CF' alias la='ls -A' alias ll='ls -alF' alias ls='ls --color=auto' alias 만들기 alias는 다음과 같이 만든다. abc를 실행하는 ...

Ubuntu 16.04 / Apache / javascript 폴더 접근이 안되는 문제 해결하는 방법

javascript 폴더 접근 불가 우분투(Ubuntu)에서 아파치(Apache)로 웹서버를 운영할 때 이상한 문제가 하나 발생합니다. 사이트 경로에 javascript가 있으면 forbidden 에러가 나는 것입니다. Forbidden You don't have permission to access /javascript/ on this server. 이 문제가 발생하는 이유는 자바스크립트 설정 때문입니다. /etc/apache2/conf-available/javascript-common.conf에 다음과 같은 코드가 있습니다. Alias /javascript /usr/share/javascript/ javascript로 접속하면 /usr/share/javascript/로 연결시키라는 뜻입니다. 사이트 접속자는 /usr/share/javascript/에 접속 권한이 없으므로 forbidden 에러가 ...

CentOS Stream 8 / 설치하기

CentOS Stream 8 / 설치하기

다운로드 CentOS Stream 페이지로 접속한다. 을 선택한다. 시스템에 맞는 링크를 클릭한다. 가까운 미러 리스트가 나오는데, 적당한 것을 클릭한다. 보통 네이버나 카카오가 빠르다. CentOS-Stream-8-x86_64-20210927-boot.iso 또는 CentOS-Stream-8-x86_64-20210927-dvd1.iso를 다운로드 한다. 설치 물리적 기기라면 부팅 가능한 USB를 만들어서, 가상 머신이라면 ISO 파일을 이용해서 부팅한다. Install CentOS Stream 8-stream을 선택하고 엔터키를 누른다. 언어를 선택하고 를 클릭한다. 빨간색 경고를 다 해결해야 설치가 진행된다. Network & Host Name을 ...

Ubuntu 24.04 Server / SSH / 포트 변경하는 방법

보안 등의 이유로 SSH 포트를 변경해야 한다면, 다음과 같이 한다. /etc/ssh/sshd_config에서 다음의 코드를... #Port 22 다음으로 변경한다. Port 1980 방화벽이 활성화되어 있다면 1980 포트를 열어준다. ufw allow 1980/tcp SSH 서비스를 다시 시작한다. systemctl restart ssh SSH 서비스를 다시 시작해도 적용되지 않으면, 컴퓨터를 다시 시작한다.

Rocky Linux 9 / 설치

Rocky Linux 9 / 설치

다운로드 아래 링크에서 ISO 파일을 다운로드한다. https://rockylinux.org/download Boot, Minimal, DVD 세 가지가 있는데, 다음과 같이 설명되어 있다. Boot Used to install the operating system from another source (such as a HTTP repository of the binary files). Can also be used to enter Rescue Mode. Minimal Used to install the operating system from another source (such as a ...