Artifactory 6.16全量系统导出报错但进程仍运行的问题咨询
Artifactory 6.16全量备份报错处理建议
问题场景
- 环境:Artifactory 6.16(基础许可证),仓库数据700GB+,存储于NFS,配套MySQL数据库
- 备份目标:完成全量备份后清理构件、重建系统,计划两种备份方式:
- 方式1:复制原始仓库数据+MySQL数据库
- 方式2:使用Artifactory内置「系统备份」功能
- 当前异常:执行内置全量导出时,数分钟后出现任务冲突报错,但备份进程持续运行,重启Artifactory、清空备份目录重试仍出现相同错误,备份文件已从130GB增长至230GB,担忧备份损坏
报错日志
2022-10-10 19:24:35,451 [http-nio-8081-exec-10] [ERROR] (o.a.s.ArtifactoryApplicationContext:790) - Job org.artifactory.repo.service.ExportJob cannot stop related job artifactory.ExportJob#bac2617d-9485-4bc9-a306-51ea5e038036 while it's running! org.artifactory.schedule.TaskImpossibleToStartException: Job org.artifactory.repo.service.ExportJob cannot stop related job artifactory.ExportJob#bac2617d-9485-4bc9-a306-51ea5e038036 while it's running! [..] 2022-10-10 19:24:35,452 [http-nio-8081-exec-10] [ERROR] (o.a.s.ArtifactoryApplicationContext:791) - Full system export failed: Job org.artifactory.repo.service.ExportJob cannot stop related job artifactory.ExportJob#bac2617d-9485-4bc9-a306-51ea5e038036 while it's running!: Job org.artifactory.repo.service.ExportJob cannot stop related job artifactory.ExportJob#bac2617d-9485-4bc9-a306-51ea5e038036 while it's running! 2022-10-10 19:26:02,747 [art-exec-8] [INFO ] (o.a.r.d.i.ImportExportAccumulator:93) - proddocker exported 3000 items (2907 files 93 folders 15.38 ips) 0 skipped items (0 files 0 folders)... 2022-10-10 19:31:02,371 [art-exec-8] [INFO ] (o.a.r.d.i.ImportExportAccumulator:93) - proddocker exported 6000 items (5823 files 177 folders 12.13 ips) 0 skipped items (0 files 0 folders)... 2022-10-10 19:35:22,406 [art-exec-8] [INFO ] (o.a.r.d.i.ImportExportAccumulator:93) - proddocker exported 9000 items (8743 files 257 folders 11.93 ips) 0 skipped items (0 files 0 folders)...
解决建议
1. 先验证当前运行的备份完整性
虽然报错,但日志中ImportExportAccumulator持续输出导出进度,说明实际导出任务未中断。等备份完成后,通过以下步骤验证有效性:
- 检查备份目录结构,确认包含
artifactory.config.xml、repositories(仓库数据)、metadata(元数据)等核心目录/文件 - 对比备份目录总大小与原始仓库数据量的比例(700GB原始数据的备份大小在合理区间即可,无需完全一致)
- 在测试环境(或临时目录)执行小范围导入测试,比如导入单个仓库的备份,确认构件和元数据可正常读取
2. 修复任务调度冲突问题
报错根源是重复导出任务冲突,执行以下操作彻底清理后重试:
- 停止Artifactory服务:
systemctl stop artifactory - 清理任务调度缓存:进入Artifactory数据目录(默认
/var/opt/jfrog/artifactory),删除work/scheduler下所有文件(重启后会自动重建) - 清空当前未完成的备份目录,避免残留文件干扰
- 重启Artifactory服务:
systemctl start artifactory - 服务完全启动后,仅发起一次全量导出任务,不要重复点击导出按钮
3. 优先采用原始数据+MySQL备份方案兜底
基于你的Linux经验,这种方式更直接可靠,完全绕过内置导出的bug:
- 停止Artifactory服务,杜绝写入操作:
systemctl stop artifactory - 复制NFS仓库数据到离线存储:
rsync -avz /path/to/nfs/artifactory/repositories /offline/backup/location/ - 备份MySQL数据库:
- 全量逻辑导出:
mysqldump -u [用户名] -p [Artifactory数据库名] > /offline/backup/location/artifactory_db_backup.sql - 大数据库推荐物理备份工具(如Percona XtraBackup),效率更高
- 全量逻辑导出:
- 备份核心配置文件:
cp /var/opt/jfrog/artifactory/etc/artifactory.config.xml /offline/backup/location/
恢复时直接回拷数据、导入数据库即可,可靠性远高于内置导出
4. 后续备份注意事项
- Artifactory 6.x内置导出在大体积仓库场景下偶发任务调度冲突,导出前停止所有非必要任务(如索引、自动清理)
- 导出过程中不要重复触发导出操作,避免并行任务冲突
- 基础版用户可关注JFrog社区的bug反馈,6.16后续小补丁可能修复该问题
内容的提问来源于stack exchange,提问作者nate3059
相关产品推荐
相关产品推荐

