리눅스 서버간 파일 동기화

원격지에 있는 서버에 ftp로 접속하고 파일을 올리지 않고 명령어 한줄로도 가능한 방법이 있음..

rsync & scp

원격지에서 데이터를 갖고오기

1
rsync -avz {원격지서버IP}:/postgres/11/postgres

원격지로 디렉토리 보내기

1
scp -r {옮길디렉토리} root@{업로드대상서버IP}:{디렉토리}

원격지에서 디렉토리 가져오기

1
scp -r root@{원격지서버IP}:{디렉토리} {저장할 디렉토리}

rsync

원격에 있는 파일과 디렉토리를 복사하고 동기화 하기 위해 사용하는 툴.

rsync & lyncd를 활용한 postgres 서버 동기화

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# systemctl enable lsyncd
# systemctl start lsyncd


서버1
#ssh-keygen
모두 enter
# ssh-copy-id –p 22 root@111.111.111.111
# ssh root@111.111.111.111 ( ssh 접속 확인 )


서버2
#ssh-keygen
모두 enter
# cat ~/.ssh/id_rsa.pub | ssh –p 22 root@000.000.000.000 “mkdir –p ~/.ssh && cat >> ~/.ssh/authorized_keys”
# ssh root@000.000.000.000. ( ssh 접속 확인 )


서버1, 서버2
# vi /etc/lsyncd.conf

settings {
logfile="/logs/lsyncd.log",
statusFile="/logs/lsyncd-status.log"
}

sync {
default.rsyncssh, # rsync 아님
source="/data/nas",
host="동기화 대상 ip",
targetdir="/data/nas"
}

systemctl restart lsyncd
Share