CDM과 관련된 자료를 FTP를 이용해서 수작업으로 업로드해서 백업과 진짜 CDM 서버에 업로드하고 있다. 복사 작업 자체가 손이 많이 가는 것은 아니나 SSH를 이용해서 해당 작업을 하는 것은 그 기간동안 세션을 그대로 유지시켜야 하는 불편함아닌 불편함이 있다. 그래서 rsync를 이용해 보기로 하였다. 기본적인 사용 방법은 인터넷에서 쉽게 찾아볼 수 있다. 공개키와 개인키를 만들었을 경우 공개키를 등록시키면 별다른 옵션 없이도 비밀번호 입력 없이 사용가능했다. 백그라운드에서 동작시킨다면 사실 진행 과정을 보여주는 옵션은 필요없다. 저성능 NUC의 CPU를 기준으로 1Gbps 환경에서는 20MB/s 정도의 속도를 보여준다. 이 말은 100Mbps로 연결되는 환경에서는 CPU 성능에 영향 받지 않고 최대 전송 속도를 낼 수 있는 것을 의미한다.
rsync -a -e 'ssh -p 포트번호' source target
여러 옵션이 있으나 백업이 주된 목적이니까 –delete 같은 옵션은 생략할 수 있다. SSH 포트를 변경하였다면 -e 를 이용해서 해당 옵션을 지정하면 된다. source와 target 디렉토리에서 마지막 슬래시 여부에 따라 디렉토리 생성 방식이 다르니까 주의한다.
당연히 신경써야 하는 것이겠으나.. 통상적으로 cron에 root 계정으로 작업을 등록하는 경우가 있는데, ssh 기반으로 작업 예약을 하겠다면 사전에 테스트한 계정으로 동작시켜야 한다.
2022년 10월 13일 추가
공개키를 원격 서버에 등록하면 되는데 간단한 방법을 찾았다.
# cat ~/.ssh/id_rsa.pub | ssh [id@remote address] "cat >> .ssh/authorized keys"