최근 노션 오류가 잦아지고 있다고 들었다.
그러잖아도 백업을 하고 싶었는데, pdf 내보내기도 한계가 있으니.. 어쩌나 싶었었다.
마침 노션 한국 사용자들을 위한 페이지에 노션 백업하는 방법이 있어서 확인해봤다. 출처는 여기!
https://medium.com/@arturburtsev/automated-notion-backups-f6af4edc298d
관련 지식이 거의 없어서 복잡해 보이지만 차근차근 따라 해 봤다.
1단계 - Gitlab 회원가입
무료 회원이라도 용량을 넉넉하게 준다니까 당분간 걱정은 없을 것 같다.
2단계 - Notion token과 Space ID 추출하기
대학생들 온라인 강의 배속으로 보려고 F12로 다운받잖아요.. 하다 보니
생각남
- 우선 노션에 접속해준다
- 설정과 멤버 → 설정에 들어간다.
- ctrl + shift + J (윈도우, 리눅스, 크롬) or cmd+option+J(맥)을 누른다. 나는 그냥 F12 눌렀다.
그럼 아래 사진과 같이 Developer Tools가 열린다!
- 맨 위 Elements, Console, ~여기서 Network 탭을 클릭
- XHR 클릭 → 🚫(clear console) 클릭
- 아까 들어간 노션 설정 창에서 '전체 워크스페이스 콘텐츠 내보내기'를 눌러준다.
- 아까 열었던 창에서 enqueque Task를 찾고 클릭
enqueque Task의 Headers 부분에 클릭하면 코드가 좌라락 뜬다.
여기서 token_v2 ~ 로 시작하는 부분과 spaceId 값을 복사한다.
나는 찾기 힘들어서 ctrl F로 찾았다. 그리고 번거롭게 드래그해서 복사하기보다는, 그냥 클릭 한 번 해주면
필요한 부분이 알아서 블록 잡히기 때문에 그대로 복사하고 따로 메모장에 적어준다.
spaceId도 " " 안의 값을 따로 메모장에 적어준다
아래는 그냥 예시다. 원래 spaceID는 영문이랑 숫자가 섞여있고 예시보다 기니까 참고만!
token_v2=xxx; spaceId: "0000-0000-0000-0000-000000”
3단계 - Gitlab에서 push token 만들기
- 아까 가입한 Gitlab으로 돌아가서, settings → access token에 들어간다. 아래와 같은 화면이 뜰 것이다.
Name 에는 notion backup 이런 식으로 적고, Scopes는write_repositorywrite_repository에 체크한다.
- 위의 사진 하단에 있는 Create Personal access token을 누르면 아래 사진과 같이 개인 토큰이 만들어진다.
이게 CI_PUSH_TOKEN이니, 메모장에 적어둔다.
지금까지 잘 따라왔다면 2번에서 적어둔 두 개랑 3번에서 적어둔 한 개가 메모장에 적혀있을 것이다.
4단계 - Gitlab에서 repository 만들기
- New Project를 생성한다.
- 꼭! privateprivate로 설정하고, creat project를 누른다.
5단계 - Gitlab에서 CI/CD Script 설정
- 4단계에서 create project를 눌렀다면 아래와 같은 화면이 뜬다.
맨 오른쪽에 있는 Set up CI/CD를 클릭한다.
- editor가 열리면 아래 주소의 텍스트를 붙여 넣기 한다. 그대로 복붙하면 된다.
붙여넣기 했으면 Commit changes를 클릭해준다.
https://gitlab.com/aburtsev/notion-backup-script/-/raw/master/.gitlab-ci.yml
6단계 - Gitlab에서 백업 설정하기
- 왼쪽 메뉴의 CI/CD → SchedulesSchedules에 들어간다.
- New schedules를 누른다
- 아래와 같은 화면이 뜨면 하나하나 채워나간다.
* Description : notion backup처럼, 아무거나 쓴다.
* Interval Pattern : 언제 백업을 정기적으로 진행하냐인데, 뭘 고르든 상관은 없어 보이지만
원문은 custom을 선택해서 직접 시간을 골랐다. 이때 작성법에 주의해야 한다.
"분 시간 ***"의 형태로 적는 것이다. 예를 들어 매일 오전 5시 50분에 백업을 하고 싶다면
50 5 ***라고 적는다. (참고 - https://crontab.guru/#42_5_*_*_*)
* Cron Timezone : 한국에 거주한다면 Seoul로 적는다. 각자 거주지의 timezone 을 적으면 된다.
* Target Branch : master인 채로 놔둔다.
* variables : 여태 메모장에 따로 적어뒀던 걸 복붙 해 줄 시간!
NOTION_TOKEN_V2 2단계의 token_v2 붙여넣기
NOTION_SPACE_ID 2단계의 spaceId 붙여넣기
CI_PUSH_TOKEN 3단계의 token 붙여넣기
EXPORT_FILENAME /tmp/export.zip
PYTHONUNBUFFERED 1
TZ 각자의 TimeZone 적기. 참고 주소의 "TZ database name"
참고 : https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
다 입력했으면 Save pipeline schedule을 누른다.
7단계 - 잘 되는지 확인!
아래 사진의 ▶ 를 누른다.
그럼 두 번째 사진처럼 진행 상태를 표시하는 원이 뜬다.
Last Pipeline 아래에 있는 파란색 원이 초록색으로 뜬다면 성공! (1~2분은 걸린다.)
드디어 끝!
이제 노션이 정기적으로 정해 둔 시간에 백업된다.
백업될 때마다 노션에서 내보내기 완료했다는 메일이 온다..ㅋㅋㅋ
그래도 이제 안심!
'☁️ > Tips' 카테고리의 다른 글
[영어공부] 유용한 앱, 사이트 추천 (+ 퀴즐렛 꿀팁) (1) | 2022.04.19 |
---|---|
고객센터 안되는 알뜰폰 해지하는 법 (feat. lg 아이즈모바일) (0) | 2022.04.03 |
집에서도 안전하게! 비대면 재택 봉사 추천 (1365,vms 등) (0) | 2021.03.06 |
갤럭시 S21 울트라 (2), 공시 지원금(성지) vs 자급제(알뜰폰)? + 꿀팁! (0) | 2021.03.01 |
갤럭시 S21 울트라 자급제, 40만원 이상 할인받다! (1) 갤럭시 캠퍼스 스토어 (0) | 2021.02.25 |