코딩하는 문과생
[리눅스] 생활코딩, 인터넷을 이용한 사례들 본문
[인터넷을 통한 서버간 동기화: rsync]
- Dropdox나 구글드라이브 사용시 sync한다.
= 변경 사항을 동일하게 만든다.
- r: remote
- 백업이나 복사할 때 사용
- 파일 동기화
$ sudo apt-get install -y rsync
# 패키지 설치
$ mkdir rsync
$ cd rsync
$ mkdir src
$ mkdir dest
$ ls
# src에서 파일을 만들고 dest에 동기화시킬 것이다.
$ cd src
$ touch test{1..10}
# test1~10까지 파일 생성
$ cd ..
$ rsync -a src/ dest
# src내용들이 dest에 동기화
# -a: achieve(변경사항만 전송)
# 증분 백업을 한다.
# ***새로운 화면***
$ cd dest
$ rm test10
# *** 기존 화면***
$ rsync -av src/ dest
# 동기화
# ***새로운 화면***
$ cd src
$ touch test11
# *** 기존 화면***
$ rsync -av src/ dest
# 동기화
-인터넷에서 사용
# src 파일들을 park와 동기화
# ***park***
$ ip addr
$ mkdir rsync
$ cd rsync
$ mkdir dest
# ***sijune***
$ rsync -azP ~/rsync/src/ park@[ip addr로 나온 ip주소]:~/rsync/dest
# -z: zip(압축하고 전송하겠다.), P: 전송상태를 보여준다.
# ***park***
$ ls dest
[로그인 없이 로그인 하기: ssh key]
자동으로, 그리고 안전하게 로그인하기
# ***linux1(192.168.0.65)***
$ ip addr
# 192.168.0.65
$ ssh sijune@192.168.0.67
# 비밀번호 입력
# 그러나, 우리는 비밀번호 입력을 원하지 않고 자동로그인 되기를 원한다.
$ ssh-keygen
# 모두 enter
$ cd ~
$ ls -al
$ cd .ssh
$ ls -al
# id_rsa(개인키, 소유자만 read할 수 있다.)
# id_rsa.pub(공개키)가 생성
# 현재 디렉토리 권한: drwx------: 소유자만 접근 가능
# ***linux2(192.168.0.67)***
$ ip addr
# 192.168.0.67
$ cd ~/.ssh
$ ls -al
# authorized_keys
$ cat authorized_keys
# ***linux1***
$ cat id_rsa.pub
# 해당 값은 linux2의 authorized_keys뒤에 붙인다.
$ ssh-copy-id sijune@192.168.0.67
# ***linux2***
$ cat authorized_keys
# linux1의 공개키가 linux2에 저장된다.
# ***linux1***
$ ssh sijune@192.168.0.67
- cron과 같이 정기적인 명령어(ex. 백업)를 실행할 때 유용하다.
# rsync를 이용하면 기본적으로 로그인이 필요하다.
# ***linux1***
$ cd ~
$ mkdir rsync3
$ cd rsync3
$ touch test{1..100}
# ***linux2***
cd ~
$ mkdir rsync_welcome
# ***linux1***
$ rsync -avz . sijune@192.168.0.67:~/rsync_welcome
-RSA???
# ***linux1***
$ ls ~/.ssh/
# id_rsa, id_rsa.pub
# ***linux2***
$ ls ~/.ssh/
# authorized_keys
# ***linux1***
$ sijune@192.168.0.67
# 로그인 가능
'개발 관련 지식 > 리눅스' 카테고리의 다른 글
[리눅스] CPU 점유율 높은 프로세스 찾기 (0) | 2022.12.19 |
---|---|
[리눅스] 생활코딩, 리눅스를 서버로 활용하기(2) (0) | 2020.01.02 |
[리눅스] 생활코딩, 리눅스를 서버로 활용하기 (0) | 2019.12.20 |
[리눅스] 생활코딩, 다중 사용자 (0) | 2019.12.19 |
[리눅스] 생활코딩, 실행 (0) | 2019.12.19 |