# 如何备份和还原整个 /var/discourse 应用文件夹？

**URL:** https://meta.discourse.org/t/how-to-backup-and-restore-a-whole-var-discourse-app-folder/152598
**Category:** Self-hosting
**Created:** [2020 年5 月 25 日 10:35 UTC](https://meta.discourse.org/t/how-to-backup-and-restore-a-whole-var-discourse-app-folder/152598 "2020-05-25T10:35:13Z")
**Posts on this page:** 1
**Showing post:** 15

<div class="post-metadata">

### 作者： ![adrelanos](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/adrelanos/32/121409_2.png) [@adrelanos](https://meta.discourse.org/u/adrelanos)
#### 发布日期： [2020 年6 月 18 日 14:50 UTC](https://meta.discourse.org/t/how-to-backup-and-restore-a-whole-var-discourse-app-folder/152598/15 "2020-06-18T14:50:08Z")

</div>

这是一个极好的方法！谢谢！

恢复服务器上有一个问题。

```
./launcher logs app

```

> 2020-06-18 13:33:56.434 UTC [127] FATAL: 数据目录 “/shared/postgres\_data” 的权限归属错误  
> 2020-06-18 13:33:56.434 UTC [127] HINT: 服务器必须由拥有数据目录的用户启动。  
> ./run: 3: echo: echo: I/O 错误  
> 2020-06-18 13:33:57.448 GMT [128] LOG: 跳过缺失的配置文件 “/shared/postgres\_data/postgresql.auto.conf”

* * *

这可能是由于缺少某些 `tar` 选项？我在解压时添加了 **-p** 和 **-s** ，但并未奏效。

原始服务器（Docker 外部）：

```
ls -la /var/discourse/shared/standalone/postgres_data/

```

> drwx------ 7 messagebus messagebus 4096 5 月 25 日 13:16 base

原始服务器（Docker 内部（`./launcher enter app`））：

```
ls -la /var/lib/postgresql/10/main/

```

> drwx------ 5 root postgres 4096 5 月 25 日 23:28 base

* * *

恢复服务器（Docker 外部）：

```
ls -la /var/discourse/shared/standalone/postgres_data/

```

> drwx------ 7 messagebus messagebus 71 5 月 25 日 11:16 base

恢复服务器（Docker 内部）：

> drwx------ 5 root postgres 41 5 月 25 日 23:28 base

* * *

`./launcher rebuild app` 可以解决这个问题，但这不是重点。

有什么建议吗？

---

_[View the full topic](https://meta.discourse.org/t/how-to-backup-and-restore-a-whole-var-discourse-app-folder/152598)._
