gitea的git库备份与恢复
Gitea 支持通过其内置的管理员 API 进行数据备份和恢复。以下是使用 curl
命令进行备份和恢复的示例:
备份 Gitea 仓库数据:
# 设置变量
GITEA_HOST="http://localhost:3000"
GITEA_ADMIN_USER="admin"
GITEA_ADMIN_PASSWORD="adminpassword"
BACKUP_FILE="backup.zip"
# 登录以获取访问令牌
TOKEN=$(curl -X POST -d "username=$GITEA_ADMIN_USER&password=$GITEA_ADMIN_PASSWORD&remember=true" $GITEA_HOST/login | jq -r .data.token)
# 备份 Gitea 数据
curl -H "Authorization: Bearer $TOKEN" -X POST $GITEA_HOST/api/v1/admin/backup/repo/download -o $BACKUP_FILE
恢复 Gitea 仓库数据:
# 设置变量
GITEA_HOST="http://localhost:3000"
GITEA_ADMIN_USER="admin"
GITEA_ADMIN_PASSWORD="adminpassword"
BACKUP_FILE="backup.zip"
# 登录以获取访问令牌
TOKEN=$(curl -X POST -d "username=$GITEA_ADMIN_USER&password=$GITEA_ADMIN_PASSWORD&remember=true" $GITEA_HOST/login | jq -r .data.token)
# 恢复 Gitea 数据
curl -H "Authorization: Bearer $TOKEN" -X POST -F "file=@$BACKUP_FILE" $GITEA_HOST/api/v1/admin/backup/repo/restore
注意:
- 这些命令假定你已经安装了
curl
和jq
(jq
用于解析 JSON 输出)。 - 你需要替换
GITEA_HOST
,GITEA_ADMIN_USER
,GITEA_ADMIN_PASSWORD
, 和BACKUP_FILE
变量为你的实际信息。 - 备份文件 (
backup.zip
) 将会被下载到当前目录或上传自当前目录。 - 确保在执行恢复操作前已经停止 Gitea 服务,并在恢复完成后重启 Gitea。
- 这些命令假定你有 Gitea 管理员权限。如果没有,你需要有相应的权限来执行这些操作。
评论已关闭