rclone으로 Dropbox 동기화하기 (2025)

관리자 및 모더레이터: 필요 시 이 주제를 다른 곳으로 이동하거나 수정해 주세요.

이것은 rclone을 설치하고 Dropbox로 Discourse를 백업하기 위해 모든 것을 설정하는 방법에 대한 확장된 단계별 지침입니다. Google Drive 사용자의 경우, 대부분의 단계가 적용될 것으로 생각합니다.

저는 Christoph (@tophee) 님이 여기에 처음 제공한 몇 가지 지침을 따랐습니다:

저는 전문가가 아니기 때문에 그 지침은 매우 제한적으로 보였고 결국 실패할 것 같았으므로, 저는 ChatGPT의 도움을 받아 모든 것이 정상 작동하게 되었습니다! 저는 저와 같은 고급 사용자가 아닐 가능성이 높고, 그 과정에서 추가적인 도움이 필요할 분들을 위해 모든 것을 단계별로 문서화했습니다.

:one: 원격으로 rclone 설치 및 Dropbox 준비

서버에 SSH로 접속합니다:

ssh root@xxx.xxx.xxx.xxx

서버에 접속한 후:

root@ServerNameHere:~#

rclone을 설치합니다:

sudo curl https://rclone.org/install.sh | sudo bash

성공적으로 설치되었다면 다음을 실행합니다:

sudo rclone config

다음과 같이 표시되면:

2025/08/13 11:29:31 NOTICE: Config file "/root/.config/rclone/rclone.conf" not found - using defaults
No remotes found, make a new one?
n) New remote
s) Set configuration password
q) Quit config
n/s/q> 

n을 입력합니다. Enter 키를 누릅니다.

다음과 같이 표시되면:

Enter name for new remote.
name> 

이름을 지정합니다. 예를 들어 dropbox_backup입니다. Enter 키를 누릅니다.

빨간색과 초록색으로 된 목록이 표시됩니다(제 경우에도 그랬습니다). 그 옵션 중 하나가 Dropbox입니다. 각 옵션에는 번호가 연결되어 있습니다. 제 경우엔 다음과 같았습니다:

14 / Dropbox
   \ (dropbox)

아래쪽의 Storage> 부분에 Dropbox의 번호를 추가합니다. 즉, 제 경우엔 Storage>14가 되었습니다. Enter 키를 누릅니다.

다음과 같이 표시됩니다:

Option client_id.
OAuth Client Id.
Leave blank normally.
Enter a value. Press Enter to leave empty.
client_id> 

비워 두려면 그냥 Enter 키를 누릅니다. 다음과 같이 표시될 때도 동일하게 수행합니다:

Option client_secret.
OAuth Client Secret.
Leave blank normally.
Enter a value. Press Enter to leave empty.
client_secret> 

다음과 같이 표시되면:

Edit advanced config?
y) Yes
n) No (default)
y/n> 

n을 입력하고 Enter 키를 누릅니다.

다음과 같이 표시되면:

Use web browser to automatically authenticate rclone with remote?
 * Say Y if the machine running rclone has a web browser you can use
 * Say N if running rclone on a (remote) machine without web browser access
If not sure try Y. If Y failed, try N.

y) Yes (default)
n) No
y/n> 

n을 입력하고 Enter 키를 누릅니다.

다음과 같이 표시되면:

Option config_token.
For this to work, you will need rclone available on a machine that has
a web browser available.
For more help and alternate methods see: https://rclone.org/remote_setup/
Execute the following on the machine with the web browser (same rclone
version recommended):
	rclone authorize "dropbox"
Then paste the result.
Enter a value.
config_token> 

:stop_sign: 멈추세요!

:two: 로컬에 rclone 설치 및 Dropbox 승인

컴퓨터에 rclone을 설치합니다. 제 경우, 이전 프로세스에 방해가 되지 않도록 Mac에서 새로운 터미널 창을 열어 rclone을 설치할 수 있었습니다. Dropbox 토큰을 받은 후 계속 진행해야 하기 때문입니다.

먼저 Mac에 설치되어 있는지 확인하기 위해 다음을 실행했습니다:

rclone version

설치되어 있지 않아서 설치해야 했습니다. 제 특정 경우, Homebrew가 Catalina와 잘 작동하지 않기 때문에 MacPorts를 사용하고 있습니다. 선호하는 옵션을 선택하세요.

Homebrew 명령어:

brew install rclone

MacPorts 명령어:

sudo port install rclone

설치가 완료되면, 같은 창에서 다음을 실행합니다:

rclone authorize "dropbox"

dropbox 이름은 이전에 선택한 dropbox_backup 이름과는 관련이 없습니다.

이것을 실행하면 브라우저에 승인 창이 열립니다.
열리지 않으면, 이 URL을 브라우저에 붙여넣으세요: http://127.0.0.1:53682/auth (이 지침에 따라).

Dropbox에 로그인합니다. Allow 버튼을 클릭합니다. 모든 것이 잘 진행된다면 다음 메시지가 표시됩니다:

Success!
All done. Please go back to rclone.

그 창을 닫습니다.

:three: Dropbox 설정 마무리

터미널로 돌아가면 긴 토큰이 표시됩니다(매우 길기 때문에 여기서는 짧게 표시했습니다):

{"access_token":"sl.u.AF5VJTs.................ZvNhniOToyQG","token_type":"bearer","refresh_token":"jygyhExsHRgAAAAAAAAAAfeHd8D0l5jzLvuiZ1onH2nXP2YeC2ycrbm5eQ5Y3uc6","expiry":"2025-08-13T16:58:41.072138+01:00","expires_in":14400}

열리는 {에서 닫히는 }까지, 중괄호 자체를 포함하여 모두 복사하고 다른 창에 붙여넣습니다:

Option config_token.
For this to work, you will need rclone available on a machine that has
a web browser available.
For more help and alternate methods see: https://rclone.org/remote_setup/
Execute the following on the machine with the web browser (same rclone
version recommended):
	rclone authorize "dropbox"
Then paste the result.
Enter a value.
config_token> PASTE_TOKEN_HERE

Enter 키를 누릅니다.

모든 것이 성공적으로 완료되면 다음과 같은 내용이 표시됩니다:

Configuration complete.
Options:
- type: dropbox
- token: {"access_token":"sl.u.AF5VJTs7..........ToyQG","token_type":"bearer","refresh_token":"jygyhExsHRgAAAAAAAAAAfeHd8D0l5jzLvuiZ1onH2nXP2YeC2ycrbm5eQ5Y3uc6","expiry":"2025-08-13T16:58:41.072138+01:00","expires_in":14400}
Keep this "dropbox_backup" remote?
y) Yes this is OK (default)
e) Edit this remote
d) Delete this remote
y/e/d> 

유지하려면 **y**를 선택합니다. 이렇게 하면 서버에서 dropbox_backup으로 리모트가 저장되고, rclone 명령에 사용할 수 있게 됩니다. Enter 키를 누릅니다.

다음과 같이 표시됩니다:

Current remotes:

Name                 Type
====                 ====
dropbox_backup       dropbox

e) Edit existing remote
n) New remote
d) Delete remote
r) Rename remote
c) Copy remote
s) Set configuration password
q) Quit config
e/n/d/r/c/s/q> 

구성을 종료하려면 **q**를 입력합니다. 이제 dropbox_backup 리모트가 사용 준비가 되었습니다. Enter 키를 누릅니다.

여전히 root@ 상태라면 rclone lsd dropbox_backup:을 실행합니다.
이것은 연결이 작동하는지 확인하기 위해 Dropbox의 최상위 디렉터리를 모두 나열합니다.

:four: 백업

:keyboard: 수동

수동으로 백업하려면, 일반적인 설정(두 개의 컨테이너 설정이 아님)을 가지고 있다고 가정하고 다음을 실행합니다:

sudo rclone copy /var/discourse/shared/standalone/backups/default --exclude tmp/ dropbox_backup:backups
  • /var/discourse/shared/standalone/backups/default → 서버의 소스 폴더 (이 경로는 일반적인 설정에서 정확하다는 것을 확인했습니다. 두 개의 컨테이너 설정은 아닙니다. 최소한 2025년 8월 기준으로는 그렇습니다).
  • --exclude tmp/ → 임시 파일을 건너뜁니다.
  • dropbox_backup:backups → 리모트 이름(dropbox_backup)과 Dropbox 내 폴더(backups).

이것은 이전에 선택한 이름인 dropbox_backup을 사용하여 모든 백업 파일(tmp/ 제외)을 Dropbox의 backups라는 폴더에 업로드합니다.

공백이 포함된 폴더, 예를 들어 Discourse Backups를 원한다면 대신 다음을 실행합니다:

sudo rclone copy /var/discourse/shared/standalone/backups/default --exclude tmp/ "dropbox_backup:Discourse Backups"

모든 것이 계획대로 진행된다면, 이제 Dropbox에 모든 백업 파일이 포함된 Discourse Backups 폴더(또는 선택한 이름)를 볼 수 있을 것입니다.

이 지점까지 도달했으므로, 앞으로 혼동을 피하기 위해 컴퓨터에 rclone을 설치하는 데 사용된 터미널의 두 번째 창을 닫으세요.

:alarm_clock: Cron 작업

이제 이 프로세스를 자동화하기 위해 cron 작업을 생성해 보겠습니다:

crontab -e

다음과 같이 표시됩니다:

no crontab for root - using an empty one
Select an editor.  To change later, run select-editor again.
  1. /bin/nano        <---- easiest
  2. /usr/bin/vim.basic
  3. /usr/bin/vim.tiny
  4. /bin/ed

Choose 1-4 [1]: 

**1**을 선택합니다. Enter 키를 누릅니다.

다음과 같은 내용이 표시됩니다:

# Edit this file to introduce tasks to be run by cron.
# 
# Each task to run has to be defined through a single line
# indicating with different fields when the task will be run
# and what command to run for the task
# 
# To define the time you can provide concrete values for
# minute (m), hour (h), day of month (dom), month (mon),
# and day of week (dow) or use '*' in these fields (for 'any').
# 
# Notice that tasks will be started based on the cron's system
# daemon's notion of time and timezones.
# 
# Output of the crontab jobs (including errors) is sent through
# email to the user the crontab file belongs to (unless redirected).
# 
# For example, you can run a backup of all your user accounts
# at 5 a.m every week with:
# 0 5 * * 1 tar -zcf /var/backups/home.tgz /home/
# 
# For more information see the manual pages of crontab(5) and cron(8)
# 
# m h  dom mon dow   command

그 모든 것의 끝에 cron 작업을 추가합니다. 매일 오후 6시에 백업을 복사하려면 다음을 추가합니다:

0 18 * * * rclone copy /var/discourse/shared/standalone/backups/default --exclude tmp/ "dropbox_backup:Discourse Backups"

따라서 "목록"은 다음과 같이 끝납니다:

(INITIAL TEXT HERE)

# m h  dom mon dow   command

0 18 * * * rclone copy /var/discourse/shared/standalone/backups/default --exclude tmp/ "dropbox_backup:Discourse Backups"

Ctrl+X를 누릅니다. 창 아래쪽에 저장 여부를 묻습니다. Y를 누른 다음 Enter 키를 누릅니다.

완료되었습니다!

원한다면 cron 작업을 더 자주 실행할 수 있습니다. 어쨌든 새 파일만 복사되므로 가능합니다.

copy 옵션은 서버의 백업이 삭제되더라도 Dropbox에 백업이 계속 추가됨을 유의하세요. 서버에 유지되는 것만 유지하려면 copy 대신 sync를 사용하세요.

5개의 좋아요

감사합니다. 정말 도움이 많이 되었습니다. 이제 rclone과 Dropbox가 연결되었는데, Dropbox를 Plex에 연결하는 방법은 어떻게 되나요?

때로는 튜토리얼 예제에서 copy 대신 sync 명령을 사용하는 것이 더 적합하지 않을까 하는 생각이 듭니다 (Use rclone to sync backups to Dropbox or Google Drive 도 참고). sync 대신 copy를 선호하는 이유가 무엇인지 모르겠기 때문입니다. 무제한 용량이 있는 경우를 제외하면 말이죠. :thinking:

제가 하는 모든 작업에서, 혹시 모를 상황에 대비해 일정 기간 동안 더 많은 백업을 유지하곤 합니다. 여러 사본을 보관하면 마음이 한결 편안해집니다. 사본이 하나뿐이면 불안하거든요 :wink: