[ghost] 고스트 블로그 백업하기

불의의 사고에 대비하기 위해 블로그 데이터는 주기적으로 자주 백업을 해야 합니다.

고스트는 관리자 도구에 백업 기능이 잘 구현되어 있어서 장애 발생시 백업 데이터로 빠르게 블로그를 복구할 수 있도록 지원합니다.

백업은 컨텐츠, 리소스 파일

컨텐츠 백업

고스트 관리 메뉴 Labs > Export your content 항목의 "Export" 버튼을 누르면 컨텐츠 데이터(포스트)가 json 포맷 데이터로 다운로드 됩니다. 백업 파일 생성 속도가 빠르기 때문에 대기 시간 없이 바로 생성됩니다.

같은 화면에서 컨텐츠 리다이렉트, 또는 라우트 경로를 설정해서 컨텐츠를 연결했으면 리다이렉트와 라우트 설정 정보도 다운로드합니다.

파일 백업

글에 포함된 이미지, 동영상, 업로드 파일을 백업해야 합니다. 관리자 기능으로는 지원하지 않기 때문에 터미널로 로그인해서 컨텐츠 파일을 다운로드 해야 합니다.

컨텐츠에 포함된 고스트의 모든 리소스 파일들은 고스트 설치 디렉토리 밑의 content 디렉토리 안에 저장됩니다. 이미지는 content/images, 업로드 파일들은 content/files, 그리고 동영상 파일 등은 content/media 폴더에 저장됩니다.

따라서 content 폴더 밑의 모든 내용을 백업하면 됩니다. 우분투 기준으로 예를 들면 /var/www/ghost/content 디렉토리가 백업할 디렉토리가 됩니다.

글 개수가 많으면 content 디렉토리 안의 백업할 파일들의 개수가 너무 많아서 시간이 오래걸릴 수 있습니다. ftp로 폴더 전체 백업을 해도 되지만, 관리가 편하게 zip 파일로 content 폴더 전체를 압축한 후 압축 파일을 다운로드 합니다.

content 폴더 전체를 압축해 zip 파일로 생성합니다. -r 옵션은 하위 폴더(들)까지 모두 압축합니다.

zip -r content-backup.zip /var/www/ghost/content/

압축한 원격지(고스트 블로스 호스팅 서버)의 파일을 scp 커맨드로 로컬 컴퓨터로 당겨옵니다. 윈도우 운영체제 로컬로 가져올 때는 윈도우 파일 시스템의 로컬 경로와 파일 이름을 지정해야 합니다.

scp ghostuser@49.247.0.1:/var/www/ghost/content/contentbackup-20240111.zip z:\ghostbackup\contentbackup-20240111.zip