# wget로 이메일 링크에서 백업 다운로드하기

**URL:** https://meta.discourse.org/t/download-a-backup-from-an-email-link-with-wget/170623
**Category:** Sysadmins
**Tags:** backups, how-to
**Created:** [11월 19, 2020, 3:45오후 UTC](https://meta.discourse.org/t/download-a-backup-from-an-email-link-with-wget/170623 "2020-11-19T15:45:35Z")
**Posts on this page:** 5
**Page:** 1

<div class="post-metadata">

### Author: ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)
#### Post date: [11월 19, 2020, 3:45오후 UTC](https://meta.discourse.org/t/download-a-backup-from-an-email-link-with-wget/170623/1 "2020-11-19T15:45:35Z")

</div>

숙련된 시스템 관리자가 대용량 파일을 이동할 때 선호하는 방식은 `rsync`나 `scp`와 같은 도구를 사용하는 것입니다. 하지만 때로는 대용량 백업 파일을 가져와야 하는 호스트에 SSH 접근 권한이 없는 경우도 있습니다.

백업 파일에는 민감한 정보가 포함되어 있어, Discourse에는 무단 사용자가 백업을 가져오는 것을 매우 어렵게 만드는 보안 기능이 있습니다. 이메일을 통해 다운로드 링크를 받아야 하며, 요청한 사용자로 로그인한 상태에서 해당 링크를 사용해야 합니다. 웹 브라우저를 통해 데이터를 다운로드하려는 경우라면 매우 간편합니다. 하지만 그 백업을 인터넷상의 다른 서버로 옮기려는 경우라면, 대부분의 가정용 인터넷 서비스에서는 매우 번거로운 일이 됩니다. 제 가정용 인터넷 연결에서는 2.3GB 파일 업로드에 20분 이상이 걸립니다. 여기 있는 12GB 파일의 경우 약 2시간 정도 걸릴 것입니다.

`wget`을 사용하여 Discourse 사이트에서 백업을 가져올 수 있는 링크를 얻는 방법은 다음과 같습니다.

먼저 평소처럼 다운로드를 시작한 다음 Chrome의 다운로드 페이지(chrome://downloads/)를 엽니다. URL을 마우스 오른쪽 버튼으로 클릭하여 복사합니다.

 ![download-dialog](https://global.discourse-cdn.com/meta/original/3X/4/8/48381752021171641d9b2ce8e2a70345bbf76b03.png)

이어서, 파일을 원하는 기기의 셸에서 해당 URL을 wget 요청에 붙여넣을 수 있습니다. `&` 기호가 문제를 일으킬 수 있으므로 URL을 따옴표로 감싸야 합니다. 또한 백업 파일의 원래 파일명을 유지해야 합니다. 요청은 다음과 같이 보일 것입니다:

```plaintext
wget --show-progress "https://bucket-name.s3.us-west-2.amazonaws.com/backups/xyz/multisitename/discourse-2020-11-19-001538-v20201116132948.tar.gz?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAWWK5WHOFJ%2F20201119%2Fus-west-2%2Fs3%2Faws4_request&X-Amz-Date=20201119T013442Z&X-Amz-Expires=300&X-Amz-SignedHeaders=host&X-Amz-Signature=1753b97a8aaf6953c89aa28628b8db" -o discourse-2020-11-19-001538-v20201116132948.tar.gz

```

`-o filename`을 생략하고 다운로드 후 파일 이름(전체 URL이 파일명이 됨)을 변경하는 것도 가능합니다. URL에는 시간 제한이 있으므로, 서버로 가져올 준비가 되었을 때 다운로드를 시작해야 합니다.

이후 파일을 `/var/discourse/shared/standalone/backups/default`로 이동시키고, 웹 인터페이스 또는 아래 명령어로 복원할 수 있습니다.

```plaintext
cd /var/discourse
./launcher enter app
discourse enable_restore
discourse restore

```

위 마지막 명령어는 사용 가능한 백업 목록을 표시하므로, 복원을 시작하려면 올바른 백업을 복사하여 붙여넣으면 됩니다.

---

<div class="post-metadata">

### Author: ![darkpixlz](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/darkpixlz/32/549896_2.png) [@darkpixlz](https://meta.discourse.org/u/darkpixlz)
#### Post date: [6월 23, 2025, 4:08오전 UTC](https://meta.discourse.org/t/download-a-backup-from-an-email-link-with-wget/170623/2 "2025-06-23T04:08:30Z")

</div>

아쉽게도 이 방법은 S3를 사용하는 사이트 밖에서는 작동하지 않는 것 같습니다.

 ![image](https://global.discourse-cdn.com/meta/original/4X/f/e/e/fee566d16cca9613d3d9d1bb7dd7a6f93d6709bd.png)

---

<div class="post-metadata">

### Author: ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)
#### Post date: [6월 23, 2025, 10:08오전 UTC](https://meta.discourse.org/t/download-a-backup-from-an-email-link-with-wget/170623/3 "2025-06-23T10:08:51Z")

</div>

> [@pfaffman](#):
>
> `&` 기호가 문제를 일으킬 수 있으므로 따옴표로 감싸야 한다는 점을 확인하세요.

이렇게 하면 작동할 것이라고 생각합니다.

---

<div class="post-metadata">

### Author: ![pangbo](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pangbo/32/538562_2.png) [@pangbo](https://meta.discourse.org/u/pangbo)
#### Post date: [6월 23, 2025, 11:28오전 UTC](https://meta.discourse.org/t/download-a-backup-from-an-email-link-with-wget/170623/4 "2025-06-23T11:28:41Z")

</div>

이 방법은 작동하지 않을 것 같습니다. S3는 URL의 `X-Amz-Signature` 파라미터를 통해 신원을 인증하는 반면, Discourse에서 직접 다운로드하려면 쿠키 기반 인증이 필요하기 때문입니다. 단순히 wget에 URL을 복사해서 붙여넣는 것만으로는 인증이 이루어지지 않습니다.

---

<div class="post-metadata">

### Author: ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)
#### Post date: [6월 23, 2025, 11:55오전 UTC](https://meta.discourse.org/t/download-a-backup-from-an-email-link-with-wget/170623/5 "2025-06-23T11:55:59Z")

</div>

> [@pangbo](#):
>
> 반면, Discourse에서 직접 다운로드하려면 쿠키 기반 인증이 필요합니다.

음. 아마 맞을 수도 있겠네요. 저는 아마도 S3를 통해서만 해본 것 같습니다 (ssh 접근 권한이 없는 CDCK 사이트에서처럼 말이죠).
