워드프레스→구글드라이브→NAS 이중백업하기

By | 2022-01-02

워드프레스 백업 플러그인 중에 UpdraftPlus 라는 걸출한 프로그램이 있다. 원래 DB는 phpmyadmin (없으면 설치해서)으로 들어가서 백업받고 새 서버에 올려 복원하고 파일은 따로 ftp로 다운받아 업로드해왔는데 그럴 필요없이 한 플러그인으로 다 처리가 가능하다. 라이트세일에서 APM 업그레이드를 위해 새 인스턴스로 옮길 때마다 참 유용하게 사용하고 있기도 하고. 흔한 말로 영혼까지 백업,복원한다는 말이 딱 맞는다.

현재 무료버젼으로 1일 1회 백업을 하고 있다. 백업할 수 있는 파일을 다 백업해보면 DB, 업로드한 파일, 플러그인, 테마, 기타 이렇게 총 5개의 zip 으로 백업을 하게되고, 워드프레스만 공홈에서 설치한 후 UpdraftPlus 깔고 복원시키면 백업받았을 당시의 워드프레스가 고스란히 복원된다.

백업을 보니 이 5개 zip 파일이 약 350MB 정도를 차지하고 있다. 백업 목적지를 구글 드라이브로 지정해두었고 매일 백업이니까 구글 드라이브에 이 용량이 매일 쌓여 나간다. 여태까지는 최근 10개의 백업을 보관하도록 해 두었다. 약 3.5기가 정도 용량. 이번 인스턴스 변경 후에는 최근 3개까지로 변경했다. 구글 드라이브 용량 1기가 정도만 차지하게 되는 셈이다.

한가지 걱정은 불의의 사고로 DB나 파일에 문제가 생겼을 경우 그 사실을 알아차리지 못하고 3일이 지나버리면 망가져버린 DB와 업로드된 기존 파일들이 손실된 채로 그대로 백업되기 때문에 구글 드라이브의 백업 폴더에 가봐도 망가진 DB와 파일만 있을 가능성이 있었다. 사실 예전 10일간 백업 보관정책을 사용할 때에도 같은 문제가 있었겠지만 3일로 줄여버리면 불의의 사고 시에 복구할 수 있는 기한이 더 짧아지기 때문에 대책이 필요했다.

이에, 이미 갖고 있는 시놀로지 NAS의 클라우드 싱크 기능을 사용하니 간단히 해결책이 마련되었다. 무료버젼 UpdraftPlus 를 사용할 경우 원격 드라이브의 백업 폴더는 UpdraftPlus니까 이곳을 원격 경로로 지정하고 로컬 경로명을 적당하게 지정 또는 생성해준 후에 스케쥴을 지정해주면 된다.

구글 드라이브로 백업이 완료되면 NAS가  그 디렉토리를 보고 있다가 변동사항이 생긴걸 감지하고 바로 NAS로 내려받는다. 이 작업을 언제 실행할 것인지를 스케쥴 지정할 수 있긴하나 현재는 지정해두지 않았다. 개인용 NAS라 대부분의 시간은 한가하기 때문이다. 전송도 1분 이내에 끝난다.

백업 중 동기화 방향은 “원격 변경사항만 다운로드”로 지정했다. 원시 파일은 계속 구글 드라이브에 생성될테고 우린 그게 자동삭제되기 전에 NAS로 받기만 하면 된다. 여기서 중요한 옵션 하나는 “파일이 소스폴더에서 제거될 때 대상폴더에서 해당 파일을 제거하지 마십시오.”를 꼭 켜야만 한다. 원격 서버에서 최근 3일치만 남기고 계속 오래된 백업을 자동으로 지워나가는 것에 대한 대비책으로 매일 백업분을 NAS로 다운받는 것인데, NAS에서도 원격서버를 따라 4일 이상된 백업 파일을 제거하게 되면 이 이중백업을 하는 의미가 없다.

이렇게 해두면 라이트세일에 설치한 워드프레스에서는 아침 08시30분에 UpdraftPlus가 구글 드라이브로 백업을 받고 최근 3일치만 남기고 계속 오래된 백업은 삭제하며, 그날 그날 백업이 구글드라이브에 저장되는 순간 NAS에는 계속 땡겨와서 2번째 백업을 저장한다.