Update zh tw languages and fix some broken links

This commit is contained in:
Lunny Xiao
2026-07-01 14:47:51 -07:00
parent 9558006c39
commit a084bdb556
842 changed files with 31137 additions and 31065 deletions

View File

@@ -7,19 +7,19 @@ aliases:
- /zh-tw/backup-and-restore
---
# 备份与恢复
# 備份與恢復
Gitea 已经实現了 `dump` 命令可以用来备份所有需要的文件到一 zip 压缩文件。該压缩文件可以被用進行数据恢复
Gitea 已經實現了 `dump` 命令可以用來備份所有需要的文件到一 zip 壓縮文件。該壓縮文件可以被用進行資料恢復
## 份一致性
## 份一致性
為了保 Gitea 例的一致性,在份期必須关闭它。
為了保 Gitea 例的一致性,在份期必須關閉它。
Gitea 包括数据库、文件和 Git 存放庫,它被使用所有些都会发生变化。例如,当迁移正在進行,在数据库中建立一个事务,而 Git 存放庫正在被制。如果备份发生在移的中Git 存放庫可能是不完整的,尽管数据库声稱它是完整的,因為它是在之后被转儲的。避免这种竞争条件的唯一方法是在份期停止 Gitea 例。
Gitea 包括資料庫、文件和 Git 存放庫,它被使用所有些都會發生變化。例如,當遷移正在進行,在資料庫中建立一個事務,而 Git 存放庫正在被制。如果備份發生在移的中Git 存放庫可能是不完整的,儘管資料庫聲稱它是完整的,因為它是在之後被轉儲的。避免這種競爭條件的唯一方法是在份期停止 Gitea 例。
## 份命令 (`dump`)
## 份命令 (`dump`)
到 git 使用者的限: `su git`. 再 Gitea 目錄`./gitea dump`。一般会显示类似如下的出:
到 git 使用者的限: `su git`. 再 Gitea 目錄`./gitea dump`。一般會顯示類似如下的出:
```
2016/12/27 22:32:09 Creating tmp work dir: /tmp/gitea-dump-417443001
@@ -30,20 +30,20 @@ Gitea 包括数据库、文件和 Git 存放庫,当它被使用时所有这些
2016/12/27 22:32:34 Finish dumping in file gitea-dump-1482906742.zip
```
生成的 `gitea-dump-1482906742.zip` 文件将会包含如下容:
生成的 `gitea-dump-1482906742.zip` 文件將會包含如下容:
- `app.ini` - 如果原先存儲在默认的 custom/ 目錄之外,则是配置文件的可選副本
- `custom/` - 所有保存在 `custom/` 目錄下的配置和自定义的文件。
- `data/` - 数据目錄APP_DATA_PATH如果使用文件会话,则不包括会话。該目錄包括 `attachments``avatars``lfs``indexers`、如果使用 SQLite 包括 SQLite 文件。
- `app.ini` - 如果原先儲存在預設的 custom/ 目錄之外,則是設定文件的可選副本
- `custom/` - 所有保存在 `custom/` 目錄下的設定和自訂的文件。
- `data/` - 資料目錄APP_DATA_PATH如果使用文件會話,則不包括會話。該目錄包括 `attachments``avatars``lfs``indexers`、如果使用 SQLite 包括 SQLite 文件。
- `repos/` - 存放庫目錄的完整副本。
- `gitea-db.sql` - 数据库 dump 出的 SQL。
- `log/` - Logs 文件,如果用作移不是必須的。
- `gitea-db.sql` - 資料庫 dump 出的 SQL。
- `log/` - Logs 文件,如果用作移不是必須的。
间备份文件将会在临时目錄進行建立,如果您要重新指定临时目錄,可以用 `--tempdir` 參數,或者用 `TMPDIR` 环境变量。
間備份文件將會在臨時目錄進行建立,如果您要重新指定臨時目錄,可以用 `--tempdir` 參數,或者用 `TMPDIR` 環境變量。
## 备份数据库
## 備份資料庫
`gitea dump` 建立的 SQL 儲使用 XORMGitea 管理可能更喜使用本地的 MySQL 和 PostgreSQL 儲工具。使用 XORM 转儲数据库时仍然存在一些问题,可能会导致在尝试恢复时出現问题
`gitea dump` 建立的 SQL 儲使用 XORMGitea 管理可能更喜使用本地的 MySQL 和 PostgreSQL 儲工具。使用 XORM 轉儲資料庫時仍然存在一些問題,可能會導致在嘗試恢復時出現問題
```sh
# mysql
@@ -54,23 +54,23 @@ pg_dump -U $USER $DATABASE > gitea-db.sql
### 使用 Docker `dump`
在使用 Docker ,使用 `dump` 命令有一些注意事
在使用 Docker ,使用 `dump` 命令有一些注意事
必須以 `gitea/conf/app.ini` 中指定的 `RUN_USER = <OS_USERNAME>` 執行該命令;並且,為了让备份文件夹的压缩過程能够顺利執行,`docker exec` 命令必須在 `--tempdir` 部執行。
必須以 `gitea/conf/app.ini` 中指定的 `RUN_USER = <OS_USERNAME>` 執行該命令;並且,為了讓備份文件夾的壓縮過程能夠順利執行,`docker exec` 命令必須在 `--tempdir` 部執行。
例:
例:
```none
docker exec -u <OS_USERNAME> -it -w <--tempdir> $(docker ps -qf 'name=^<NAME_OF_DOCKER_CONTAINER>$') bash -c '/usr/local/bin/gitea dump -c </path/to/app.ini>'
```
\*注意:`--tempdir` 指的是 Gitea 使用的 Docker 境的临时目錄;如果您有指定自定义`--tempdir`,那 Gitea 使用 `/tmp` 或 Docker 容器的 `TMPDIR` 环境变量。對於 `--tempdir`,請相應整您的 `docker exec` 命令選
\*注意:`--tempdir` 指的是 Gitea 使用的 Docker 境的臨時目錄;如果您有指定自`--tempdir`,那 Gitea 使用 `/tmp` 或 Docker 容器的 `TMPDIR` 環境變量。對於 `--tempdir`,請相應調整您的 `docker exec` 命令選
果應該是一文件,儲在指定的 `--tempdir` 中,类似于`gitea-dump-1482906742.zip`
果應該是一文件,儲在指定的 `--tempdir` 中,類似於`gitea-dump-1482906742.zip`
## 恢命令 (`restore`)
## 恢命令 (`restore`)
前還有恢命令,恢需要人工進行。主要是把文件和数据库進行恢
前還有恢命令,恢需要人工進行。主要是把文件和資料庫進行恢
例如:
@@ -93,54 +93,54 @@ psql -U $USER -d $DATABASE < gitea-db.sql
service gitea restart
```
如果安裝方式生了化(例如 二進制 -> Docker或者 Gitea 安裝到了之前安裝不同的目錄,需要重新生成存放庫 Git 子。
如果安裝方式生了化(例如 二進制 -> Docker或者 Gitea 安裝到了之前安裝不同的目錄,需要重新生成存放庫 Git 子。
在 Gitea 运行时,並 Gitea 二進制文件所在的目錄執行:`./gitea admin regenerate hooks`
在 Gitea 運行時,並 Gitea 二進制文件所在的目錄執行:`./gitea admin regenerate hooks`
这样可以保存放庫 Git 子中的應用程序和配置文件路径与当前安裝一致。如果些路径没有更新,存放庫的 `push` 操作将失败
這樣可以保存放庫 Git 子中的應用程式和設定文件路徑與當前安裝一致。如果些路徑沒有更新,存放庫的 `push` 操作將失敗
### 使用 Docker (`restore`)
在基 Docker 的 Gitea 例中,也有恢命令的支。恢過程前面描述的步相同,但路不同。
在基 Docker 的 Gitea 例中,也有恢命令的支。恢過程前面描述的步相同,但路不同。
例:
例:
```sh
# 在容器中打 bash 会话
# 在容器中打 bash 會話
docker exec --user git -it 2a83b293548e bash
# 在容器内解压您的份文件
# 在容器內解壓您的份文件
unzip gitea-dump-1610949662.zip
cd gitea-dump-1610949662
# 恢 Gitea 数据
# 恢 Gitea 數據
mv data/* /data/gitea
# 恢存放庫本身
# 恢存放庫本身
mv repos/* /data/git/gitea-repositories/
# 整文件
# 調整文件
chown -R git:git /data
# 重新生成 Git
# 重新生成 Git
/usr/local/bin/gitea -c '/data/gitea/conf/app.ini' admin regenerate hooks
```
Gitea 容器中的默认使用者是 `git`1000:1000。請用您的 Gitea 容器 ID 或名稱替 `2a83b293548e`
Gitea 容器中的預設使用者是 `git`1000:1000。請用您的 Gitea 容器 ID 或名稱替 `2a83b293548e`
### 使用 Docker-rootless (`restore`)
在 Docker-rootless 容器中的恢工作流程只是要使用的目錄不同:
在 Docker-rootless 容器中的恢工作流程只是要使用的目錄不同:
```sh
# 在容器中打 bash 会话
# 在容器中打 bash 會話
docker exec --user git -it 2a83b293548e bash
# 在容器内解压您的份文件
# 在容器內解壓您的份文件
unzip gitea-dump-1610949662.zip
cd gitea-dump-1610949662
# 恢 app.ini
# 恢 app.ini
mv data/conf/app.ini /etc/gitea/app.ini
# 恢 Gitea 数据
# 恢 Gitea 數據
mv data/* /var/lib/gitea
# 恢存放庫本身
# 恢存放庫本身
mv repos/* /var/lib/gitea/git/gitea-repositories
# 整文件
# 調整文件
chown -R git:git /etc/gitea/app.ini /var/lib/gitea
# 重新生成 Git
# 重新生成 Git
/usr/local/bin/gitea -c '/etc/gitea/app.ini' admin regenerate hooks
```