Toggle navigation
主页
English
K8S
Golang
Guitar
About Me
归档
标签
Welcome to Sanger's Blog!
gogs 备份
gogs
2023-05-18 11:07:51
12
0
0
sanger
gogs
# [官方方法](https://web.archive.org/web/20180521083825/https://discuss.gogs.io/t/how-to-backup-restore-and-migrate/991) 除了分别打包gogs存储库,自定义和数据库之外,Gogs还提供了两个命令,用于统一备份,还原甚至迁移到另一个数据库引擎的过程。 ## 备份 ``` # 没有任何标志,backup 命令会将所有 gogs-repository、custom 和 database 打包到当前目录下的单个 zip 存档中(例如 gogs-backup-xxx.zip) ./gogs backup # 如果您的gogs存储库包含GB的原始数据,这可能是一个坏主意,在这种情况下,您可以应用–exclude-repos标志 ./gogs backup --exclude-repos # 如果你的 custom/conf/app.ini 不寻常,请确保像往常一样通过 –config 标志指定它: ./gogs backup --config=my/custom/conf/app.ini ``` ## 数据库 ``` 如果你只对备份数据库感兴趣,或者想从一个数据库引擎(例如SQLite3)迁移到另一个引擎(例如MySQL),–database-only是你的朋友: ./gogs backup --database-only 数据库的备份格式是可移植的JSON文件,每个文件对应一个数据库表,你可以对这些文件做任何你想做的事情。 ``` ## 恢复 ``` 命令还具有指示仅还原数据库或备份存档中所有内容的标志: 如果表未显示在备份存档中,则当前数据库表中的任何内容将保持不变。 ./gogs restore --database-only --from="gogs-backup-xxx.zip" 非标配置,要声明 ./gogs restore --database-only --from="gogs-backup-xxx.zip" --config=my/custom/conf/app.ini ``` ## 自定义配置文件 有 3 个步骤可以确定使用哪个自定义/conf/app.ini 命令: 使用您指定的标志 --config 。 使用存储在备份存档中的那个。 使用 $(pwd)/custom/conf/app.ini 中的那个。 如果所有3个步骤都失败了,对不起,无法执行还原过程。 http://www.jifu.io/posts/4076369309/ # [非官方方法](https://www.kancloud.cn/louis1986/git_version/514926) ``` 1)每天晚上12点执行备份gogs数据库的操作,然后通过rsync把备份推送到备份服务器上 在mysql5.1.73上操作 ``` mysql> grant Select,lock tables on gogs.* to 'back'@'10.2.11.%' identified by 'Aa123456'; mysql> flush privileges; ``` 备份数据库脚本 [git@node1 ~]$ vim backup_gogs_db.sh ``` #!/bin/bash Date=$(date "+%Y-%m-%d") BackDir=/home/git/backup File=gogs_${Date}.sql user="back" host="10.2.11.204" passwd="Aa123456" db="gogs" mysqldump -u $user -p$passwd -h $host -B --database $db > ${BackDir}/${File} if [ $? -eq 0 ];then echo "Your database backup successfully completed" else echo "you database backup fail" fi ``` 配置rsync客户端 ```
上一篇:
解决gogs项目体积过大的问题
下一篇:
git常用命令
0
赞
12 人读过
新浪微博
微信
更多分享
腾讯微博
QQ空间
人人网
文档导航