scp로 원격서버에 백업하기
원격서버에 백업 파일을 전송할때는 rsync를 이용해도 되고 scp를 이용하는 방법도 있습니다.
scp는 공개키 암호화방식을 함께 사용하면 보안을 유지하며 백업 파일을 전송할수 있어 유용합니다.
A서버(원본자료가 있는 서버) : 192.168.0.1
B서버(백업저장소 서버) 192.168.0.2
라고 가정하고 원격서버에 파일 저장을 해봅시다.
원본서버에서 두 서버간의 인증을 위한 키를 생성합니다.
# ssh-keygen -t rsa
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
root 계정의 경우는 기본적으로는 위와 같은 경로에(계정에 따라 경로가 다릅니다.) 개인키와 공개키가 생성됩니다.
이제 공개키를 백업서버로 전송합니다.
# scp /root/.ssh/id_rsa.pub root@192.168.0.2:
이제 백업 서버에서 이 공개키가 잘 들어왔는지 확인해보고 authorized_keys 파일에 추가해야 합니다.
# cat id_rsa.pub > .ssh/authorized_keys
그리고 보안을 위해 id_rsa.pub 파일은 삭제하고 authorized_keys 파일의 퍼미션을 변경합니다.
# rm -rf id_rsa.pub
# chmod 700 .ssh/
# chmod 644 .ssh/authorized_keys
자 이제 원본서버와 백업서버간의 인증절차가 완료되어 scp 명령어를 이용했을때 별도로 비밀번호를 묻지 않습니다.
명령어는 다음과 같습니다.
# scp 원본서버의백업할파일경로 계정명@호스트:백업서버에저장할경로
# scp /backup/backup20140320.tar.gz root@192.168.0.2:/backup/
이렇게 실행하면 원본서버의 /backup/backup20140320.tar.gz 파일을
192.168.0.2번 서버의 root계정으로 /backup/ 폴더에 저장합니다.