我们需要备份什么?

home directory:contains  repository data, log files, plugins, and so on.

database:contains data about pull requests, comments, users, groups, permissions, and so on.

备份的策略

 
Zero Downtime Backup
DIY Backup
Backup Client
Summary A technique that eliminates downtime completely using internally consistent database snapshots and block-level filesystem snapshots A technique that minimizes downtime using incremental copy or vendor-specific snapshot technology

Simple but unsuitable for use in high availability environments.

An external utility which locks a Bitbucket Server instance and backs up its entire home directory and database in a vendor-independent format.

Downtime  Zero at backup time.

 Low. Only needs to lock Bitbucket briefly to create a consistent snapshot. Downtime can be as low as a few seconds.

 High. Bitbucket is locked for the entire duration of the backup process, which may take several minutes or longer, especially in large organizations.

Minimum product version Bitbucket 4.8+

Stash 2.12+

Bitbucket 4.0+

Stash 2.7+

Bitbucket 4.0+

Bitbucket Server  Supported. Bitbucket tolerates (but does not attempt to resolve) any inconsistencies between the home directory and database after restoring.  Supported  Supported
Bitbucket Data Center  Supported. Bitbucket can perform an integrity check at restore time to scan for inconsistencies between the home directory and database,and resolve them.  Supported  Not supported, even if you are running on one cluster node.
Minimum requirements
  • Requires you to use the snapshot tools of your file system and database vendor. Example scripts are provided.
  • Requires your home directory to be on a file system volume capable of atomic (block level) snapshots, for example, Amazon EBSLVMNetAppXFS, or ZFS.
  • Minimizing the time between database andfilesystem snapshots (or using vendor-specific point-in-time recovery) reduces the chances of inconsistencies occurring

Requires you to use the snapshot tools of your file system and database vendor. Example scripts are provided.

No special requirements. "Just works" out of the box.
Backup format Vendor-specific database snapshot and block level file system snapshot of the entire disk volume. Vendor-specific database dump and file system snapshot.

Database vendor-independent.

Documentation Using Bitbucket zero downtime backup Using Bitbucket Server DIY Backup Using the Bitbucket Server Backup Client

我们这边采用第三种方式进行备份。

备份包括:

  • the database Bitbucket Server is connected to (either the internal or external DB)
  • managed Git repositories
  • the Bitbucket Server audit logs
  • installed plugins and their data

不包括:

  • export/*
  • log/* (except for the audit logs)
  • shared/data/db* (HSQL data in the DB is backed up, but the files on disk are not)
  • tmp
  • the plugins directory (except for the installed-plugins directory)  

下载指定备份插件: release of the Bitbucket Server Backup Client that is compatible with your Bitbucket Server instance

解压下载的插件包,进行相关配置(编辑 backup-config.properties 文件)

#备份

bitbucket.home=/var/atlassian/application-data/Bitbucket  #bitbucket家目录

bitbucket.user=bitbucket # bitbucker备份的账户

bitbucket.password=xxxxx #账户密码

bitbucket.baseUrl=http://localhost:7990 #bitbucket地址

backup.home=/S3/bitbucket #  备份的路径

#恢复

jdbc.override=true

jdbc.driver=org.postgresql.Driver #配置引擎为postgresql

jdbc.url=jdbc:postgresql://localhost:5432/bitbucket    #postgresql 中Bitbucket 仓库数据库地址

jdbc.user=bitbucket # postgresql 中 Bitbucket 账户

jdbc.password=xxxxx  #密码

#备份命令

java -jar /path/to/bitbucket-backup-client.jar

#恢复命令  需先清空数据库和bitbucket家目录中的数据

停掉Bitbucket服务

rm -rf /var/atlassian/application-data/bitbucket

su - postgres ; psql ; drop database Bitbucket

java -jar /path/to/bitbucket-restore-client.jar  /S3/bitbucket/backup/bitbucket-xxxxx.tar

参考链接:https://confluence.atlassian.com/bitbucketserver0414/using-the-bitbucket-server-backup-client-895368009.html

Bitbucket备份恢复的更多相关文章

  1. MySQL 系列(四)主从复制、备份恢复方案生产环境实战

    第一篇:MySQL 系列(一) 生产标准线上环境安装配置案例及棘手问题解决 第二篇:MySQL 系列(二) 你不知道的数据库操作 第三篇:MySQL 系列(三)你不知道的 视图.触发器.存储过程.函数 ...

  2. 基于MySQL MEB的备份恢复

    MEB(MySQL Enterprise Backup)是MySQL商业版中提供的备份工具,属于物理备份. 同XtraBackup一样,mysqlbackup的使用过程同样包含如下三个步骤: 备份(- ...

  3. Xtrabackup原理及使用innobackupex进行MySQL数据库备份恢复

    Xtrabackup是由percona提供的mysql数据库备份工具,据官方介绍,这也是世界上惟一一款开源的能够对innodb和xtradb数据库进行热备的工具. Xtrabackup中主要包含两个工 ...

  4. 在Linux操作系统下备份恢复技术的应用 转自https://yq.aliyun.com/articles/50205?spm=5176.100239.blogcont24250.9.CfBYE9

    摘要: 安全防护:在Linux操作系统下备份恢复技术的应用  原文参见:http://linux.chinaunix.net/techdoc/system/2005/12/19/925898.shtm ...

  5. mongodb 的备份恢复导入与导出

    导入导出 use hndb; db.s.save({name:'李四',age:18,score:80,address:'郑州'}); db.s.save({name:'李三',age:8,score ...

  6. [转]PLSQL Developer备份恢复oracle数据

    本文转自:http://www.cnblogs.com/iampkm/archive/2013/06/09/3128273.html 使用PL sql提供的功能可以快速的备份恢复oracle数据. 1 ...

  7. MongoDB学习(三)数据导入导出及备份恢复

    这几天想着公司要用MongoDB,自然就要用到数据导入导出,就自己学习了一下. 在Mongo学习(二)中就讲到了在bin目录下有一些工具,本篇就是使用这些工具进行数据的导入导出及备份恢复. 注意:以下 ...

  8. Oracle RMAN备份恢复指导书

    目 录 1 目的与范围... 1 2 术语和定义... 1 3 角色和职责... 2 4 使用RMAN备份数据库... 2 4.1.1 检查数据库模式... 2 4.1.2 连接到target数据库. ...

  9. 中小型数据库 RMAN CATALOG 备份恢复方案(二)

    中小型数据库呈现的是数据库并发少,数据库容量小,版本功能受限以及N多单实例等特点.尽管如此,数据库的损失程度也会存在零丢失的情形.企业不愿意花太多的钱又要保证数据库的可靠稳定,可是苦煞了我这些搞DB的 ...

随机推荐

  1. 移动端--touch事件与点透问题

    也来说说touch事件与点击穿透问题: http://blog.csdn.net/alex8046/article/details/52299785

  2. python timeit

    //有时候,我们想知道一个函数的计算耗时,那么,你可以用timeit //test.py 1 import timeit 2 3 def func(): 4         s = 0 5       ...

  3. python SMTP

    一.一开始,相信SMTP服务,所以在本机安装了一个 apt-get install sendmail apt-get install sendmail-cf apt-get install squir ...

  4. cocos2d-x JS 复选按钮checkBox的单选与多选

    var HZ_createRoom = jx.BaseView.extend({//红中麻将 ctor : function() { this._super(); this.addLayout(res ...

  5. Unity shader学习之屏幕后期处理效果之均值模糊

    均值模糊,也使用卷积来实现,之不过卷积中每个值均相等,且相加等于1. 代码如下, 子类: using UnityEngine; public class MeanBlurRenderer : Post ...

  6. python中使用rabbitmq消息中间件

    上周一直在研究zeromq,并且也实现了了zeromq在python和ruby之间的通信,但是如果是一个大型的企业级应用,对消息中间件的要求比较高,比如消息的持久化机制以及系统崩溃恢复等等需求,这个时 ...

  7. css中块级元素、内联元素(行内元素、内嵌元素)

    Block element 块级元素    顾名思义就是以块显示的元素,高度宽度都是可以设置的.比如我们常用 的<div>.<p>.<ul>默认状态下都是属于块级元 ...

  8. LDA的Gibbs Sampling求解

    <LDA数学八卦>对于LDA的Gibbs Sampling求解讲得很详细,在此不在重复在轮子,直接贴上该文这部分内容. Gibbs Sampling 批注: 1.              ...

  9. flask 在视图函数中验证表单

    在视图函数中验证表单 因为现在的basic_form视图同时接受两种类型的请求:GET请求和POST请求.所以我们要根据请求方法的不同执行不同的代码.具体来说,首先是实例化表单,如果是GET请求,就渲 ...

  10. gitlab提交内容关联到slack通知

    gitlab提交内容关联到slack通知 https://docs.gitlab.com/ee/user/project/integrations/slack.html 首先去slack做相关的设置 ...