원격지에 있는 서버에 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
|