2018-06-08 19:47:51 -04:00
|
|
|
|
---
|
|
|
|
|
date: "2018-06-06T09:33:00+08:00"
|
2023-05-23 06:14:57 -04:00
|
|
|
|
title: "备份与恢复"
|
2018-06-08 19:47:51 -04:00
|
|
|
|
slug: "backup-and-restore"
|
|
|
|
|
weight: 11
|
2020-12-09 01:47:06 -05:00
|
|
|
|
toc: false
|
2018-06-08 19:47:51 -04:00
|
|
|
|
draft: false
|
Refactor docs (#23752)
This was intended to be a small followup for
https://github.com/go-gitea/gitea/pull/23712, but...here we are.
1. Our docs currently use `slug` as the entire URL, which makes
refactoring tricky (see https://github.com/go-gitea/gitea/pull/23712).
Instead, this PR attempts to make future refactoring easier by using
slugs as an extension of the section. (Hugo terminology)
- What the above boils down to is this PR attempts to use directory
organization as URL management. e.g. `usage/comparison.en-us.md` ->
`en-us/usage/comparison/`, `usage/packages/overview.en-us.md` ->
`en-us/usage/packages/overview/`
- Technically we could even remove `slug`, as Hugo defaults to using
filename, however at least with this PR it means `slug` only needs to be
the name for the **current file** rather than an entire URL
2. This PR adds appropriate aliases (redirects) for pages, so anything
on the internet that links to our docs should hopefully not break.
3. A minor nit I've had for a while, renaming `seek-help` to `support`.
It's a minor thing, but `seek-help` has a strange connotation to it.
4. The commits are split such that you can review the first which is the
"actual" change, and the second is added redirects so that the first
doesn't break links elsewhere.
---------
Signed-off-by: jolheiser <john.olheiser@gmail.com>
2023-04-27 23:33:41 -04:00
|
|
|
|
aliases:
|
|
|
|
|
- /zh-cn/backup-and-restore
|
2018-06-08 19:47:51 -04:00
|
|
|
|
menu:
|
|
|
|
|
sidebar:
|
2023-03-23 11:18:24 -04:00
|
|
|
|
parent: "administration"
|
2018-06-08 19:47:51 -04:00
|
|
|
|
name: "备份与恢复"
|
|
|
|
|
weight: 11
|
|
|
|
|
identifier: "backup-and-restore"
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
# 备份与恢复
|
|
|
|
|
|
|
|
|
|
Gitea 已经实现了 `dump` 命令可以用来备份所有需要的文件到一个zip压缩文件。该压缩文件可以被用来进行数据恢复。
|
|
|
|
|
|
|
|
|
|
## 备份命令 (`dump`)
|
|
|
|
|
|
|
|
|
|
先转到git用户的权限: `su git`. 再Gitea目录运行 `./gitea dump`。一般会显示类似如下的输出:
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
2016/12/27 22:32:09 Creating tmp work dir: /tmp/gitea-dump-417443001
|
|
|
|
|
2016/12/27 22:32:09 Dumping local repositories.../home/git/gitea-repositories
|
|
|
|
|
2016/12/27 22:32:22 Dumping database...
|
|
|
|
|
2016/12/27 22:32:22 Packing dump files...
|
|
|
|
|
2016/12/27 22:32:34 Removing tmp work dir: /tmp/gitea-dump-417443001
|
|
|
|
|
2016/12/27 22:32:34 Finish dumping in file gitea-dump-1482906742.zip
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
最后生成的 `gitea-dump-1482906742.zip` 文件将会包含如下内容:
|
|
|
|
|
|
|
|
|
|
* `custom` - 所有保存在 `custom/` 目录下的配置和自定义的文件。
|
|
|
|
|
* `data` - 数据目录下的所有内容不包含使用文件session的文件。该目录包含 `attachments`, `avatars`, `lfs`, `indexers`, 如果使用sqlite 还会包含 sqlite 数据库文件。
|
|
|
|
|
* `gitea-db.sql` - 数据库dump出来的 SQL。
|
|
|
|
|
* `gitea-repo.zip` - Git仓库压缩文件。
|
|
|
|
|
* `log/` - Logs文件,如果用作迁移不是必须的。
|
|
|
|
|
|
|
|
|
|
中间备份文件将会在临时目录进行创建,如果您要重新指定临时目录,可以用 `--tempdir` 参数,或者用 `TMPDIR` 环境变量。
|
|
|
|
|
|
|
|
|
|
## Restore Command (`restore`)
|
|
|
|
|
|
|
|
|
|
当前还没有恢复命令,恢复需要人工进行。主要是把文件和数据库进行恢复。
|
|
|
|
|
|
|
|
|
|
例如:
|
|
|
|
|
|
2021-01-18 21:05:11 -05:00
|
|
|
|
```sh
|
|
|
|
|
unzip gitea-dump-1610949662.zip
|
|
|
|
|
cd gitea-dump-1610949662
|
|
|
|
|
mv data/conf/app.ini /etc/gitea/conf/app.ini
|
|
|
|
|
mv data/* /var/lib/gitea/data/
|
|
|
|
|
mv log/* /var/lib/gitea/log/
|
|
|
|
|
mv repos/* /var/lib/gitea/repositories/
|
|
|
|
|
chown -R gitea:gitea /etc/gitea/conf/app.ini /var/lib/gitea
|
|
|
|
|
|
|
|
|
|
# mysql
|
2020-04-13 22:55:20 -04:00
|
|
|
|
mysql --default-character-set=utf8mb4 -u$USER -p$PASS $DATABASE <gitea-db.sql
|
2021-01-18 21:05:11 -05:00
|
|
|
|
# sqlite3
|
|
|
|
|
sqlite3 $DATABASE_PATH <gitea-db.sql
|
|
|
|
|
# postgres
|
|
|
|
|
psql -U $USER -d $DATABASE < gitea-db.sql
|
|
|
|
|
|
2018-06-08 19:47:51 -04:00
|
|
|
|
service gitea restart
|
|
|
|
|
```
|