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

@@ -8,19 +8,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
@@ -31,20 +31,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 文件。
- `repos/` - 仓库目录的完整副本。
- `gitea-db.sql` - 数据库 dump 出的 SQL。
- `log/` - Logs 文件,如果用作移不是必的。
- `app.ini` - 如果原先儲存在預設的 custom/ 目之外,則是設定文件的可副本
- `custom/` - 所有保存在 `custom/`下的設定和自訂的文件。
- `data/` - 資料目錄APP_DATA_PATH如果使用文件會話,則不包括會話。該目錄包括 `attachments``avatars``lfs``indexers`、如果使用 SQLite 包括 SQLite 文件。
- `repos/` - 儲存庫目錄的完整副本。
- `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
@@ -55,23 +55,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`)
当前还没有恢命令,恢需要人工行。主要是把文件和数据库进行恢
當前還沒有恢命令,恢需要人工行。主要是把文件和資料庫進行恢
例如:
@@ -94,54 +94,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
```