JFrog Artifactory 系列5 --- 备份和还原
一、概要
1. 承上启下
JFrog Artifactory 系列1 --- 安装与配置
JFrog Artifactory 系列2 --- Nginx与Https
JFrog Artifactory 系列3 --- 仓库与配置
JFrog Artifactory 系列4 --- Maven的配置与集成
二、备份
1. 备份配置
JFrog Artifactory自带自动备份的功能,并且可以通过页面进行配置,主要的配置项包括"Cron表达式"、"配置存储路径"和"备份保留时长"等;
(1) 登录Artifactory,进入"Administration->Artifactory->Services->Backups"页面,此时系统已经自动创建了两个备份配置:
第一个配置是每天执行一次,第二个是每周执行一次;个人推荐使用每日备份+全量备份(保存三天)的方式。
(2) 点击"backup-daily":
a. Backup Key: 备份名称,需要保持唯一;
b. Cron Expression: 定时执行表达式;
c. Server Path for Backup: 备份存储的路径,默认为:
$JFROG_HOME/artifactory/var/backup/artifactory/[backup_key]
d. Incremental: 递增备份选项,开启之后只会备份上次备份之后产生的新文件;
e. Retention Period Hours: 备份保留时长,以小时为单位,该配置项仅对全量备份有效;
f. Included Items: 需要备份的仓库。对于存放内部制品的本地库是必须要备份的,而对于远程库来讲,其制品可以被快速获取,所以可以选择性的备份。
2. 备份方案
(1) 仅备份本地库;
(2) 全量备份(易于还原),可以开启ZIP压缩;
(3) 监听备份并传输至另一个物理主机,参考 Linux 解决方案 --- 数据同步
3. 备份执行
在备份列表页,点击“Run Now”,立即执行备份。
对于增量备份,会在"Server Path for Backup"目录下生成"Current"目录;对于全量备份,会在"Server Path for Backup"目录下生成以日期和时间为格式命名的目录名称:
4. 手动备份
参考“导出”;
三、导入导出
1. 两种层级
导入导出有两个层级(分类):
(1) 仓库层级:导入导出指定仓库的数据(data)和元数据(metadata);
(2) 系统层级:导入导出整个Artifactory的数据,包括配置文件、安全信息、所有仓库的数据(data)和元数据(metadata)。系统层级的导出与系统备份所产生的数据格式和结构是一致的。
2. 仓库的导入导出
登录Artifactory,进入"Administration->Artifactory->Import & Export->Repositories"页面,该页面同时包含了导入和导出的相关配置项和功能:
(1) 导出操作
a. Target Local Repository: 需要导出的仓库;
b. Export Path on Server: 位于服务器端的导出数据存放目录,Artifactory不支持导出数据到本地电脑;
c. Exclude Metadata: 选中后,将不会导出仓库元数据;
d. Create .m2 Compatible Export: 选中后,将会导出Maven 2的仓库元数据和checksum文件;
e. Output Verbose Log: 选中后,将日志级别调整至Debug并将日志输出至单独的文件(import-export)中。
(2) 导入操作
支持导入普通备份文件目录或ZIP文件:
3. 系统导入导出
登录Artifactory,进入"Administration->Artifactory->Import & Export->System"页面,该页面同时包含了导入和导出的相关配置项和功能:
(1) Master Key
master.key是一个AES加密字符串(128或256位),Artifactory使用该字符串加解密数据库中的共享数据,因此在导入之前需要首先复制该key到指定位置。
master.key位于:
$JFROG_HOME/artifactory/var/etc/security/master.key
(2) 导入导出页面
配置项与"仓库导入导出"类似,需要注意以下配置项:
a. Exclude Content: 若选中,对于导出操作仓库的二进制文件将不被导出;对于导入操作,仅导入配置文件而忽略二进制文件和元数据的导入;
4. 注意事项
(1) 不建议在不同版本的Artifactory之间进行导入导出;
(2) 导入的文件和目录应该拥有与artifactory相同的权限:
sudo chown -R artifactory:artifactory /<Path>
四、参考
1. 官方
https://jfrog.com/help/r/jfrog-artifactory-documentation/backups
https://jfrog.com/help/r/jfrog-artifactory-documentation/import-and-export