NoteZ_技术博客 NoteZ_技术博客
🏠 首页
  • 📚 Web技术
  • 📋 Npm笔记
  • 📑 Markdown
  • 📄 Git笔记
  • 📝 Nginx文档
  • 📓 Linux文档
  • 📖 技术文档
  • 📜 其他文档
  • 🧊 NodeJs
  • 🎡 Express
  • 🔥 Rust
  • 🎉 Koa2
  • 🍃 MongoDB
  • 🐬 MySql
  • 🥦 Oracle
  • 🍁 Python
  • 🍄 JavaScript
  • 🌰 CSS
  • 🧄 HTML
  • 🥑 Canvas
  • 🌽 Nuxt
  • 🍆 React
  • 🥜 Vue
  • 🧅 TypeScript
  • 🌶️ AI
  • 📘 分类
  • 📗 标签
  • 📙 归档
⚜️ 在线编辑 (opens new window)
  • 📁 站点收藏
  • 📦 前端组件库
  • 📊 数据可视化
  • 🌈 开源插件
  • 🎗️ 关于我
  • 🔗 友情链接
GitHub (opens new window)

NoteZ_技术博客

前端界的小学生
🏠 首页
  • 📚 Web技术
  • 📋 Npm笔记
  • 📑 Markdown
  • 📄 Git笔记
  • 📝 Nginx文档
  • 📓 Linux文档
  • 📖 技术文档
  • 📜 其他文档
  • 🧊 NodeJs
  • 🎡 Express
  • 🔥 Rust
  • 🎉 Koa2
  • 🍃 MongoDB
  • 🐬 MySql
  • 🥦 Oracle
  • 🍁 Python
  • 🍄 JavaScript
  • 🌰 CSS
  • 🧄 HTML
  • 🥑 Canvas
  • 🌽 Nuxt
  • 🍆 React
  • 🥜 Vue
  • 🧅 TypeScript
  • 🌶️ AI
  • 📘 分类
  • 📗 标签
  • 📙 归档
⚜️ 在线编辑 (opens new window)
  • 📁 站点收藏
  • 📦 前端组件库
  • 📊 数据可视化
  • 🌈 开源插件
  • 🎗️ 关于我
  • 🔗 友情链接
GitHub (opens new window)
  • Web技术

  • Git笔记

  • Linux文档

  • Markdown

  • Nginx文档

  • Npm笔记

  • 技术文档

    • axios携带cookie
    • Echarts自定义提示框tooltip样式(包括提示框标题不固定)
    • gitee 仓库初始化
    • GitHub + jsDelivr + TinyPNG+ PicGo 打造稳定快速、高效免费图床
    • GitHub Actions 定时运行代码:每天定时百度链接推送
    • GitHub Actions 实现自动部署静态博客
    • GitHub加速下载项目的方法
    • GitHub高级搜索技巧
    • js以当前时间为基础,便捷获取时间(最近2天,最近1周,最近2周,最近1月,最近2月,最近半年,最近一年,本周,本月,本年)
    • JupyterLab二次开发环境配置以及踩的一些坑(笔记)
    • linux 虚拟机 ping 域名时,提示“未知的名称或服务原因分析“
    • Node.js中间件 - Multer详解
    • node.js使用supervisor或nodemon进行调试热更新
    • NodeJs的压缩文件之 - 模块 archiver 用法示例
    • Pdf数据解析
    • sh文件出现错误:Permission denied解决办法
    • vscode命令行以管理员身份运行
    • webpack 的简单使用
    • Web前端Vue离线存储之 - localForage.js使用方法
    • windows 多版本管理工具 nvm-windows
    • windows 如何配置 pip 镜像
    • WX小程序开发总结
    • Xshell 6 提示 “要继续使用此程序,您必须应用最新的更新或使用新版本”
    • yaml语言教程
    • 使用 SwitchHost 修改 host 文件为 GitHub 提速
    • 使用Gitalk实现静态博客无后台评论系统
    • 几款主流好用的富文本编辑器
    • 如何使用 babel 对es6语法进行转码
    • 如何使用 github pages 搭建你的个人站点
    • 如何使用openvscode-server搭建一个vscode代码编辑器
    • 如何配置 GitHub 页面的发布源
    • 如何配置GitHub登录账号密码,进行免密push仓库文件
    • 解决GitHub提交代码成功后并不显示绿格子问题
    • 解决百度无法收录搭建在GitHub上的个人博客的问题
    • VuePress 配置 MarkDown 文件目录.md
    • GitHub无法打开或加载慢的解决方法
    • win10 通过修改 hosts 提升github访问速度
    • Echarts实现自适应
    • gulp项目中ReferenceError_ primordials is not defined报错解决方法
    • 使用libreoffice将word转化成pdf
    • onlyoffice+vue实现在线预览在线编辑
    • Stable-Diffusion-WebUI 搭建使用教程
    • wind10通过安装nvm切换node版本
    • 解决虚拟机中ip地址总是自动变化办法
    • Git配置之邮箱设置
    • Echarts重写tooltip(提示框)代码
    • 使用 frp 实现内网穿透
    • win10 开机自启动 frp 实现内网穿透
    • Express 与 vue3 使用 sse(event-stream)实现消息推送并使用 nginx 转发
    • Linux 中使用 rsync 同步文件目录教程
    • Gitea数据备份与还原
      • 前言
      • 备份命令dump
      • 数据恢复
  • 其他文档

  • 前端开发
  • 技术文档
NoteZ
2025-03-10
目录

Gitea数据备份与还原

# 前言

Gitea 由数据库、文件和 git 存储库组成,所有这些都在使用时会发生变化。例如,当迁移正在进行时,会在数据库中创建一个事务,同时复制 git 存储库。如果备份发生在迁移过程中,则 git 存储库可能不完整,尽管数据库另有声明,因为它是在之后转储的。避免此类争用条件的唯一方法是在备份期间停止 Gitea 实例。

注意

为了保证 Gitea 实例的一致性,备份时必须关闭 Gitea 实例。

# 备份命令dump

切换到运行 Gitea 的用户:

su git
cd /var/lib/gitea
./gitea dump -c /var/lib/gitea/custom/conf/app.ini
1
2
3

在 Gitea 安装中运行 目录。应该有一些类似于以下内容的输出:

2025/03/10 10:52:33 ...dules/setting/log.go:331:initLogFrom() [I] Gitea Log Mode: Console(Console:info)
2025/03/10 10:52:33 ...dules/setting/log.go:286:generateNamedLogger() [I] Router Log: Console(console:info)
2025/03/10 10:52:33 ...les/setting/cache.go:75:loadCacheFrom() [I] Cache Service Enabled
2025/03/10 10:52:33 ...les/setting/cache.go:90:loadCacheFrom() [I] Last Commit Cache Service Enabled
2025/03/10 10:52:33 ...s/setting/session.go:74:loadSessionFrom() [I] Session Service Enabled
2025/03/10 10:52:33 ...s/storage/storage.go:175:initAttachments() [I] Initialising Attachment storage with type:
2025/03/10 10:52:33 ...les/storage/local.go:45:NewLocalStorage() [I] Creating new Local Storage at /var/lib/gitea/data/attachments
2025/03/10 10:52:33 ...s/storage/storage.go:165:initAvatars() [I] Initialising Avatar storage with type:
2025/03/10 10:52:33 ...les/storage/local.go:45:NewLocalStorage() [I] Creating new Local Storage at /var/lib/gitea/data/avatars
2025/03/10 10:52:33 ...s/storage/storage.go:191:initRepoAvatars() [I] Initialising Repository Avatar storage with type:
2025/03/10 10:52:33 ...les/storage/local.go:45:NewLocalStorage() [I] Creating new Local Storage at /var/lib/gitea/data/repo-avatars
2025/03/10 10:52:33 ...s/storage/storage.go:185:initLFS() [I] Initialising LFS storage with type:
2025/03/10 10:52:33 ...les/storage/local.go:45:NewLocalStorage() [I] Creating new Local Storage at /var/lib/gitea/data/lfs
2025/03/10 10:52:33 ...s/storage/storage.go:197:initRepoArchives() [I] Initialising Repository Archive storage with type:
2025/03/10 10:52:33 ...les/storage/local.go:45:NewLocalStorage() [I] Creating new Local Storage at /var/lib/gitea/data/repo-archive
2025/03/10 10:52:33 ...s/storage/storage.go:207:initPackages() [I] Initialising Packages storage with type:
2025/03/10 10:52:33 ...les/storage/local.go:45:NewLocalStorage() [I] Creating new Local Storage at /var/lib/gitea/data/packages
2025/03/10 10:52:33 cmd/dump.go:246:runDump() [I] Dumping local repositories... /var/lib/gitea/data/gitea-repositories
2025/03/10 10:52:35 cmd/dump.go:285:runDump() [I] Dumping database...
2025/03/10 10:52:36 cmd/dump.go:297:runDump() [I] Adding custom configuration file from /var/lib/gitea/custom/conf/app.ini
2025/03/10 10:52:36 cmd/dump.go:325:runDump() [I] Packing data directory.../var/lib/gitea/data
2025/03/10 10:52:36 cmd/dump.go:407:runDump() [I] Finish dumping in file gitea-dump-1741575153.zip

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23

其他 备份数据库

mysqldump -u [用户名] -p [数据库名称] > gitea-db-backup.sql
1

# 数据恢复

目前不支持 recovery 命令。这是一个手动过程,主要是 涉及将文件移动到正确的位置和还原数据库转储。例如:

# 停止 Gitea 服务
service gitea stop
# 解压备份文件
unzip gitea-dump-1741575153.zip
# 移动文件到正确的位置
cd gitea-dump-1610949662
# 还原数据库转储
mv app.ini /var/lib/gitea/custom/conf/app.ini
mv data/* /var/lib/gitea/data/
mv log/* /var/lib/gitea/log/
mv repos/* /var/lib/gitea/data/gitea-repositories/
chown -R gitea:gitea /etc/gitea/conf/app.ini /var/lib/gitea

# 还原数据库
# mysql
mysql --default-character-set=utf8mb4 -u$USER -p$PASS $DATABASE < gitea-db.sql
# 例如
# mysql -u [用户名] -p [数据库名称] < /path/to/gitea-db-backup.sql

# sqlite3
sqlite3 $DATABASE_PATH <gitea-db.sql
# postgres
psql -U $USER -d $DATABASE < gitea-db.sql

service gitea restart

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#Gitea#Git
上次更新: 2025/03/11, 09:22:37
Linux 中使用 rsync 同步文件目录教程
解决 bash_wget 未找到命令的解决办法

← Linux 中使用 rsync 同步文件目录教程 解决 bash_wget 未找到命令的解决办法→

最近更新
01
Linux 中使用 rsync 同步文件目录教程
03-10
02
Linux 使用 rsync 互相传输同步文件的简单步骤
03-08
03
CentOS7安装与卸载anaconda3基础步骤
03-04
更多文章>
Theme by Vdoing | Copyright © 2019-2025 NoteZ,All rights reserved | 冀ICP备2021027292号-1
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式