시놀로지 Hyper Backup to Microsoft OneDrive

Published Sep 27, 2022 | Updated Mar 8, 2026 | 0 comments

개요

시놀로지를 사용한다면 대부분 백업 용도로 Hyper Backup 을 거의 필수로 사용할 것이다.
단순하게 주기적인 동기화가 아닌 히스토리 개념의 백업 회전 기능도 있고, 압축도 되니 이 패키지를 능가하는 건 없다고 생각한다.

근데 나의 경우 로컬의 다른 디스크의 볼륨에 Hyper Backup 으로 백업을 1차로 생성하고
중요한 패키지와 데이터만 Cloud 에 백업을 하고 있다.

그런데, 어느 순간 반드시 Microsoft OneDrive 를 사용해야만 했고
그래서 어쩔 수 없이 OneDrive 로 백업할 데이터를 로컬에 백업한 다음
해당 폴더를 Cloud Sync 라는 패키지로 OneDrive 의 특정 폴더와 동기화 하는 방식으로 사용을 해왔다.

왜냐하면 Hyper Backup 은 MS OneDrive 가 Target 으로 제공되지 않는다
Google 드라이브는 있지만 Microsoft 는 Azure 만 가능하다.
지금 시점에 내가 아는 다른 대안은 없는 것 같다.

근데 이런 방식으로 계속 사용하다 보니 눈에 띄는 단점이 생겼다.
Cloud Sync 의 경우 백업의 개념보다는 동기화에 더 중점을 둔 패키지이다

백업은 특정 시점에 예를 들어 새벽 1시에 해당 시점의 데이터를 매일 한번만 백업하는 용도라면
동기화의 경우 지속적으로 로컬과 원격을 동일하게 유지하기 위한 용도이다.

물론 동기화 방향을 설정해서 로컬 데이터를 기준으로 백업과 비슷하게 설정할 수는 있지만
이때는 동기화 스케줄을 1시간으로 지정하더라도 그 1시간 동안 계속 동기화가 발생한다는 점이다

그래서 주기적으로 파일이 업데이트 되는 경우 지속적으로 동기화가 발생하게 된다.
이게 너무 맘에 안 들었다.

그래서 Hyper Backup 으로 Microsoft OneDrive 에 백업을 할 다양한 시도를 한 결과
현재 사용 중인 구성에 대한 설명을 남기고자 한다.

출처

전체적인 구성에 대한 설명은 다음 링크(Using Docker to connect Synology Hyper Backup to pCloud (and all 5x Rclone-supported remotes) : r/synology) 를 참조해서 사용 중이다.
해당 포스트는 pCloud 에 연결하는 방법을 설명하고 있는데 전체적인 구성만 참조했다.

구성

  • Facebook
  • Evernote
  • Pinterest
  • Gmail

RCLONE 구성

공식 사이트(Rclone) 에 자세히 설명이 되어 있으며 다른 클라우드를 사용하는 경우 참조하면 될 것이다.
rclone 은 다양한 cloud storage 를 지원하는 오픈소스 프로젝트라고 설명하고 있다
Linux, MacOS, Windows 등 다양한 OS 를 지원하며 Docker 도 포함되어 있다.

그래서 이미 시놀로지에서 사용중인 도커를 활용하기로 한다.

Config 파일 생성

도커 컨테이너를 생성하기 전에 클라우드 설정이 저장된 설정 파일을 먼저 생성해야 한다.

OneDrive 의 경우 웹 브라우저를 호출해서 로그인을 하는 과정이 필요하다.
그래서 Config 파일을 생성하는 과정은 윈도우 데스크탑 PC 에서 진행했다.
(Mac 사용자의 경우 해당 하는 바이너리를 다운로드 하면 된다)

먼저 Rclone downloads 링크에서 바이너리 압축파일을 다운로드 한 다음 압축을 해제한다.

파워쉘을 실행해서 해당 폴더로 들어간 다음 rclone config 명령을 입력한다.

설정 파일의 위치는 %appdata%\rclone 에 위치해 있다(Line 3)
이미 설정 파일이 있는 경우는 조금 다르게 나올 수 있고 편집도 가능하다
파일 하나에 여러 cloud 설정이 포함되어 있다.

먼저 New remote 를 생성할 것이므로 n 을 입력한 다음 엔터(Line 8)

name> 이라고 표시가 되면 cloud 설정의 이름을 입력하면 된다.
추후 해당 이름으로 연결 설정을 하게 되므로 고려해서 입력하면 된다.(Line 11)

다음으로 cloud 를 선택하는 과정이다
Microsoft OneDrive 를 선택하기 위해 onedrive 라고 입력한 다음 엔터(Line 90,91,144)

그 뒤에 이어지는 client_id, client_secret 은 공백으로 둔 상태에서 엔터(Line 150,156)

region 은 global 로 입력하면 된다.(Line 170)

tenant 는 공백을 둔 상태에서 엔터(Line 177)

고급 설정을 하겠느냐는 질문에는 기본값(No) 으로 설정하기 위해 공백으로 둔 상태에서 엔터(Line 182)

브라우저를 실행해서 인증을 할지에 대한 선택은 기본값(Yes) 으로 설정하기 위해 공백으로 둔 상태에서 엔터(Line 191)

그러면, 브라우저가 실행되면서 인증 과정을 진행하면 된다.

PS C:\Users\kkomz> cd D:\DownloadChrome\rclone
PS D:\DownloadChrome\rclone> .\rclone.exe config
2026/01/08 14:23:25 NOTICE: Config file "C:\\Users\\kkomz\\AppData\\Roaming\\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 name for new remote.
name> hyperbackuponedrive

Option Storage.
Type of storage to configure.
Choose a number from below, or type in your own value.
 1 / 1Fichier
   \ (fichier)
 2 / Akamai NetStorage
   \ (netstorage)
 3 / Alias for an existing remote
   \ (alias)
 4 / Amazon S3 Compliant Storage Providers including AWS, Alibaba, ArvanCloud, Ceph, ChinaMobile, Cloudflare, Cubbit, DigitalOcean, Dreamhost, Exaba, FileLu, FlashBlade, GCS, Hetzner, HuaweiOBS, IBMCOS, IDrive, Intercolo, IONOS, Leviia, Liara, Linode, LyveCloud, Magalu, Mega, Minio, Netease, Outscale, OVHcloud, Petabox, Qiniu, Rabata, RackCorp, Rclone, Scaleway, SeaweedFS, Selectel, Servercore, SpectraLogic, StackPath, Storj, Synology, TencentCOS, Wasabi, Zata, Other
   \ (s3)
 5 / Backblaze B2
   \ (b2)
 6 / Better checksums for other remotes
   \ (hasher)
 7 / Box
   \ (box)
 8 / Cache a remote
   \ (cache)
 9 / Citrix Sharefile
   \ (sharefile)
10 / Cloudinary
   \ (cloudinary)
11 / Combine several remotes into one
   \ (combine)
12 / Compress a remote
   \ (compress)
13 / DOI datasets
   \ (doi)
14 / Dropbox
   \ (dropbox)
15 / Encrypt/Decrypt a remote
   \ (crypt)
16 / Enterprise File Fabric
   \ (filefabric)
17 / FTP
   \ (ftp)
18 / FileLu Cloud Storage
   \ (filelu)
19 / Files.com
   \ (filescom)
20 / Gofile
   \ (gofile)
21 / Google Cloud Storage (this is not Google Drive)
   \ (google cloud storage)
22 / Google Drive
   \ (drive)
23 / Google Photos
   \ (google photos)
24 / HTTP
   \ (http)
25 / Hadoop distributed file system
   \ (hdfs)
26 / HiDrive
   \ (hidrive)
27 / ImageKit.io
   \ (imagekit)
28 / In memory object storage system.
   \ (memory)
29 / Internet Archive
   \ (internetarchive)
30 / Jottacloud
   \ (jottacloud)
31 / Koofr, Digi Storage and other Koofr-compatible storage providers
   \ (koofr)
32 / Linkbox
   \ (linkbox)
33 / Local Disk
   \ (local)
34 / Mail.ru Cloud
   \ (mailru)
35 / Mega
   \ (mega)
36 / Microsoft Azure Blob Storage
   \ (azureblob)
37 / Microsoft Azure Files
   \ (azurefiles)
38 / Microsoft OneDrive
   \ (onedrive)
39 / OpenDrive
   \ (opendrive)
40 / OpenStack Swift (Rackspace Cloud Files, Blomp Cloud Storage, Memset Memstore, OVH)
   \ (swift)
41 / Oracle Cloud Infrastructure Object Storage
   \ (oracleobjectstorage)
42 / Pcloud
   \ (pcloud)
43 / PikPak
   \ (pikpak)
44 / Pixeldrain Filesystem
   \ (pixeldrain)
45 / Proton Drive
   \ (protondrive)
46 / Put.io
   \ (putio)
47 / QingCloud Object Storage
   \ (qingstor)
48 / Quatrix by Maytech
   \ (quatrix)
49 / Read archives
   \ (archive)
50 / SMB / CIFS
   \ (smb)
51 / SSH/SFTP
   \ (sftp)
52 / Sia Decentralized Cloud
   \ (sia)
53 / Storj Decentralized Cloud Storage
   \ (storj)
54 / Sugarsync
   \ (sugarsync)
55 / Transparently chunk/split large files
   \ (chunker)
56 / Uloz.to
   \ (ulozto)
57 / Union merges the contents of several upstream fs
   \ (union)
58 / Uptobox
   \ (uptobox)
59 / WebDAV
   \ (webdav)
60 / Yandex Disk
   \ (yandex)
61 / Zoho
   \ (zoho)
62 / iCloud Drive
   \ (iclouddrive)
63 / premiumize.me
   \ (premiumizeme)
64 / seafile
   \ (seafile)
Storage> onedrive

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

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

Option region.
Choose national cloud region for OneDrive.
Choose a number from below, or type in your own value of type string.
Press Enter for the default (global).
 1 / Microsoft Cloud Global
   \ (global)
 2 / Microsoft Cloud for US Government
   \ (us)
 3 / Microsoft Cloud Germany (deprecated - try global region first).
   \ (de)
 4 / Azure and Office 365 operated by Vnet Group in China
   \ (cn)
region> global

Option tenant.
ID of the service principal's tenant. Also called its directory ID.
Set this if using
- Client Credential flow
Enter a value. Press Enter to leave empty.
tenant>

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

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>

2026/01/08 14:24:03 NOTICE: Make sure your Redirect URL is set to "http://localhost:53682/" in your custom config.

인증이 성공하면 브라우저 탭을 종료한다.

  • Facebook
  • Evernote
  • Pinterest
  • Gmail

로그인이 성공하면 Got code 가 표시가 되면서 다음 과정을 거치게 된다.(Line 1)

config_type 을 입력하는 과정이 표시가 되면 기본값(onedrive) 으로 설정하기 위해 공백으로 둔 상태에서 엔터(Line 22)

2026/01/08 14:24:06 NOTICE: Got code
Option config_type.
Type of connection
Choose a number from below, or type in an existing value of type string.
Press Enter for the default (onedrive).
 1 / OneDrive Personal or Business
   \ (onedrive)
 2 / Root Sharepoint site
   \ (sharepoint)
   / Sharepoint site name or URL
 3 | E.g. mysite or https://contoso.sharepoint.com/sites/mysite
   \ (url)
 4 / Search for a Sharepoint site
   \ (search)
 5 / Type in driveID (advanced)
   \ (driveid)
 6 / Type in SiteID (advanced)
   \ (siteid)
   / Sharepoint server-relative path (advanced)
 7 | E.g. /teams/hr
   \ (path)
config_type>

Option config_driveid.
Select drive you want to use
Choose a number from below, or type in your own value of type string.
Press Enter for the default (xxx).
{이후 생략}

Drive OK?

Found drive "root" of type "personal"
{이후 생략}

이 단계는 직접적인 로그는 표시하지 않습니다.
drive 를 선택하는 과정이 표시가 되면 기본값(xxxx) 으로 설정하기 위해 공백으로 둔 상태에서 엔터
drive 가 맞냐는 질문이 나오면 기본값(Yes) 으로 설정하기 위해 공백으로 둔 상태에서 엔터

최종 적으로 Keep this "hyperbackuponedrive" remote? 라고 표시가 되면 기본값을 설정하기 위해 공백으로 둔 상태에서 엔터

마지막으로 생성된 remote 목록이 표시가 되면 q 를 입력해서 종료하면 됩니다.

Configuration complete.
Options:
- type: onedrive
- token: {"access_token":{토큰 생략}","expires_in":3599}
- drive_id: 9973531FC4488B91
- drive_type: personal
Keep this "hyperbackuponedrive" remote?
y) Yes this is OK (default)
e) Edit this remote
d) Delete this remote
y/e/d>

Current remotes:

Name                 Type
====                 ====
hyperbackuponedrive  onedrive

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
PS D:\DownloadChrome\rclone>

그리고 탐색기를 연 다음 %appdata%\rclone 폴더로 이동해서 확인해 보면 rclone.conf 파일이 생성이 된 것을 볼 수 있다.
(rclone 을 압축 해제해서 실행 한 경로가 아니라는 점에 유의해야 한다)
첫째 줄에 보면 remote name 을 확인할 수 있다.
해당 파일을 잘 보관해 두고 다음 단계로 넘어가자

[hyperbackuponedrive]
type = onedrive
token = {"access_token":"{토큰 생략}","expires_in":3599}
drive_id = {xxxxx}
drive_type = personal

컨테이너 폴더 구조 생성

시놀로지에 SSH 로 접속한 다음 컨테이너 폴더를 다음과 같이 생성한다.
rcloneonedrive 가 컨테이너 폴더 루트가 된다.

  • Facebook
  • Evernote
  • Pinterest
  • Gmail

./config/rclone 폴더에 윈도우에서 생성한 rclone.conf 파일을 복사한다.

docker-compose.yaml 작성

{hyperbackupusername} 과 {hyperbackupuserpassword} 은 Hyper Backup 에서 설정할 사용자 이름과 비밀번호를 여기서 미리 설정해야 한다.
OneDrive 계정도 시놀로지 계정도 아닌 Hyper Backup 이 해당 컨테이너에 접속하기 위한 사용자 정보이다

Command 다음에 나오는 명령줄 인수 중에 하나를 앞에서 생성한 conf 파일의 remote name 과 동일하게 수정해 준다.

services:
  rcloneonedrive:
    image: rclone/rclone:latest
    container_name: rcloneonedrive
    restart: always
    environment:
      RCLONE_USER: "{hyperbackupusername}"
      RCLONE_PASS: "{hyperbackupuserpassword}"
      RCLONE_ADDR: ":8080"
      RCLONE_VFS_CACHE_MODE: "full"
      RCLONE_VFS_CACHE_MAX_SIZE: "10G"
    volumes:
      - ./config/rclone/rclone.conf:/config/rclone/rclone.conf:rw
      - ./cache/rclone_vfs_cache:/root/.cache/rclone:rw
    ports:
      - 8080:8080 
    command:
      - serve
      - webdav
      - "hyperbackuponedrive:"
      - --protondrive-replace-existing-draft
      - --ignore-checksum
      - --ignore-case
      - --dir-cache-time=24h

docker 컨테이너 실행

컨테이너 실행 방법은 각자 환경에 맞게 실행하면 된다.

docker-compose up -d

컨테이너 로그를 확인해서 제대로 실행되고 있는지 확인한다.

NOTICE: OneDrive root '': WebDav Server started on [http://[::]:8080/]

설정 폴더 소유자 및 권한 변경

혹시 컨테이너 로그에 다음과 같이 설정 파일 관련 에러가 발생한다면 소유자 및 권한 설정이 필요하다

2026/01/06 01:57:09 ERROR : Failed to save config after 10 tries: failed to move previous config to backup location: rename /config/rclone/rclone.conf /config/rclone/rclone.conf.old2828123105: device or resource busy
2026/01/06 02:57:11 ERROR : Failed to save config after 10 tries: failed to move previous config to backup location: rename /config/rclone/rclone.conf /config/rclone/rclone.conf.old89265275: device or resource busy

컨테이너 내부 uid 와 gid 를 확인해서 수정해 준다

kkomzi@NAS:/volume1/docker/rcloneonedrive$ docker exec -it rcloneonedrive id
uid=0(root) gid=0(root) groups=0(root),1(bin),2(daemon),3(sys),4(adm),6(disk),10(wheel),11(floppy),20(dialout),26(tape),27(vid       eo)
kkomzi@NAS:/volume1/docker/rcloneonedrive$ sudo chown -R 0:0 ./config/rclone
kkomzi@NAS:/volume1/docker/rcloneonedrive$ sudo chmod -R 0755 ./config/rclone

Hyper Backup 백업 작업 생성

백업 유형을 선택하고 다음 버튼을 클릭한다

  • Facebook
  • Evernote
  • Pinterest
  • Gmail

WebDAV 를 선택한 다음 다음 버튼을 클릭한다

  • Facebook
  • Evernote
  • Pinterest
  • Gmail

서버 주소는 컨테이너 주소로 설정하고, 사용자 이름 과 패스워드를 입력한 다음
폴더를 선택하면 OneDrive 폴더 목록이 나타난다
폴더를 먼저 선택하고 디렉토리에 하위 폴더 명을 입력한 후 다음 버튼을 클릭한다
그 이후는 기존 백업 과정과 동일하므로 생략한다.

  • Facebook
  • Evernote
  • Pinterest
  • Gmail

백업이 진행된 이후 OneDrive 를 확인해 보면 다음과 같이 Hyper Backup 에 의해 생성된 폴더를 볼 수 있다.

  • Facebook
  • Evernote
  • Pinterest
  • Gmail

 

Learn more on this topic

Related Posts

무료 온라인 전광판

전광판

텍스트를 입력하고 텍스트 효과 및 배경효과 를 변경해서 전체화면으로 표시할 수 있는 전광판 용도로 사용하실 수 있습니다. 각종 스포츠 및 공연 관람시 응원 용도로 사용이 가능합니다.

Carousel

여러개의 슬라이드를 추가하여 프레젠테이션 및 이미지 슬라이드 용도로 사용하실 수 있습니다. 브라우저가 포함된 IT 기기로 큰 모니터에 연결하여 매장 내 공지사항 및 메뉴소개를 이미지로 표시할 수 있습니다.

Pin It on Pinterest

Shares
Share This

Share This

Share this post with your friends!

Shares