#54 Acronis Cyber​​ Protect、Acronis Backup :"找不到ID='...'的活动"错误;或活动无法取消

iconRemoved User在 2019-10-9 下午4:43 编写 ( icon张宏邦在 2025-4-27 下午6:43 更新 <历史> )
  编辑(登录)
  收藏
  响应调查   响应调查

  主题

问题现象

尽管活动已经完成,但活动(远程安装、磁带管理、恢复和其他)仍显示为正在运行。

如果您尝试手动取消此活动,则会收到此错误:

英文提示:
*Error code: 13*
*Module: 309*
*Lineinfo: 0xFADBAB355CC2CC2E*
*Fields: {"$module":"management_server_vsa64_7970"}*
*An activity with ID = 'XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX' cannot be found.*

----------------------
中文提示:
错误代码:13
模块:309 
Lineinfo:0xFADBAB355CC2CC2E
字段:{"$module":"management_server_vsa64_7970"}
找不到 ID = 'XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX' 的活动。

"Activity with ID... is not found"
“未找到具有 ID 的活动...”

或点击“取消”活动后,无响应

问题原因

由于系统性能I/O问题导致数据库状态不一致。

解决方法

请按照以下说明进行操作。

用于自动删除活动的脚本:

此脚本与 Management Server API 通信以管理任务。它会检索正在进行的任务,筛选掉超过 20 天(或自定义值)的任务,并删除这些任务。

用法:

  1. 在安装了 Acronis Management Server 的计算机上,以管理员身份打开 CMD。
  2. 导航到包含脚本的文件夹。
  3. 运行 acropsh stop_hanging_activities_onprem.py
  4. 输入您的 Acronis 管理员名称和密码。
    然后,该脚本将获取 API 令牌。

系统将要求您选择是要根据特定任务的 idString 还是 20 天之前的所有任务来取消:

  1. 取消精确任务
  2. 取消超过 20 天(或自定义值)的所有任务

如果选择 1,则需要输入挂起任务的 idString。挂任务的 idString 可以在控制台找到:

  • 在控制台中打开 Activities。
  • 选择挂起活动。
  • 单击右侧的 All properties。
  • 查找并复制 idString 值
    您将能够逐个取消多个任务。

如果选择 2,则需要选择是使用默认值(超过 20 天)还是某个自定义值。
然后,该脚本将自动取消所有超过 X 天的任务。

手动方法

Acronis管理服务器位于Windows计算机上

使用SQL DBBrowser, 手动将活动设置为“完成”状态:

  1. 从错误消息中记下错误活动的ID。

  2. 安装SQLite 数据库浏览器

  3. 运行数据库浏览器。

  4. 点击Open Database:


  5. 导航到C:\ProgramData\Acronis\TaskManager\

  6. 选择task_manager_db.sqlite3并按Open:


  7. 切换到Browse Data选项卡:


  8. id列的Filter字段中,输入无法取消的活动的ID;如果不知道活动ID,请跳到下一步:




  9. 滚动到state列,将看到活动的状态或代码值:


  10. 在右窗格中,对于Acronis Cyber Backup 12.5 版本,将其值从“ running”更改为“ completed”;对于Acronis Cyber Protect 15 版本,将状态代码值从“2”改为“4”然后按Apply:


  11. Write Changes更改:

使用sqlite, 手动将活动设置为“完成”状态:

  1. 从网站 https://sqlite.org/download.html 下载用于管理 SQLite 数据库文件的命令行工具包,包括适用于 Windows的命令行 shell 程序;
  2. 将压缩文件的内容提取到 TaskManager 数据库所在的文件夹:C:\ProgramData\Acronis\TaskManager
  3. 停止管理服务器上的Acronis Service Manager service:(要打开服务窗口,请按Win+R > 键入services.msc)
  4. [可选] 作为预防措施,请在其他位置创建任务管理器数据库的副本;
  5. 以管理员身份运行命令提示符:开始-> 在搜索中,键入cmd.exe,右键单击它并选择 以管理员身份运行。
  6. 导航到具有 TaskManager 数据库的文件夹:

    cd  C:\ProgramData\Acronis\TaskManager
    
  7. 运行以下命令:

    sqlite3 task-manager.sqlite "UPDATE activities SET state = 4, result_code = 0, result_payload = '{}', completion_time_str = '2021-01-13 00:00:00 +0000 UTC', completion_time_ns = 1610496000000000000 WHERE state < 4;
    sqlite3 task-manager.sqlite "UPDATE tasks SET state = 4, result_code = 0, result_payload = '{}', completion_time_str = '2021-01-13 00:00:00 +0000 UTC', completion_time_ns = 1610496000000000000 WHERE state < 4;
    
  8. 启动 Acronis Service Manager service。

Acronis管理服务器位于Linux计算机上

这包括Acronis Backup 设备(All-in-One Appliance)

使用以下解决方法删除所有活动,包括挂起的备份:

场景 1,删除所有活动,包括挂起的活动。

  1. 打开终端。
    对于All-in-One Appliance,请使用PuTTY打开All-in-One Appliance的CentOS终端。您需要提供All-in-One Appliance的IP地址。然后,您需要输入root用户名和用于输入Acronis管理控制台的密码(默认为root)。

  2. 停止服务管理器:
    systemctl stop acronis_asm.service

  3. 创建一个新文件夹以移动Acronis Task Manager的旧数据库:
    mkdir /var/lib/Acronis/TaskManager/old

  4. 将旧数据库移动到新文件夹:
    mv /var/lib/Acronis/TaskManager/task_manager_db.sqlite* /var/lib/Acronis/TaskManager/old/

  5. 启动服务管理器:
    systemctl start acronis_asm.service

网络控制台中没有其他活动。所有活动都将被删除,并且不会显示“挂起”的备份。

场景 2,删除一条特定的活动。

  1. 从错误消息中检查 Activity 的 StringID。
  2. 为 Linux 安装 sqlite,即:apt install sqlite
  3. 通过发出命令(作为 sudo)停止 Acronis Service Manager 服务:systemctl stop acronis_asm.service
  4. 转到/var/lib/Acronis/TaskMananger并通过发出命令(作为 sudo)打开任务管理器数据库:
    sqlite task_manager_db.sqlite
  5. 运行数据库查询:
    delete from activities where ID = 'XXXXXXXXXXXXX'
    (其中 XXXXXXXXXXXXX 是从错误消息中获取的活动的 mentoned IDString)
  6. 通过发出命令(作为 sudo)启动 Acronis Service Manager Service:
    systemctl start acronis_asm.service

场景 3, 如果要删除所有已完成但错误地显示为 “running” 的活动:

  1. 为 Linux 安装 sqlite,即在 Ubuntu 20.X 上:apt install sqlite
  2. 通过发出命令(作为 sudo)停止 Acronis Service Manager Service:systemctl stop acronis_asm.service
  3. 转到 /var/lib/Acronis/TaskMananger并通过发出命令(作为 sudo)打开任务管理器数据库:
    sqlite task_manager_db.sqlite
  4. 运行数据库查询:
    delete from activities where state = 'running'
  5. 通过发出命令(作为 sudo)启动 Acronis Service Manager Service:
    systemctl start acronis_asm.service

您还可以阅读: 代理程序被删除后无法取消挂起的活动


原文链接:https://kb.acronis.com/content/60653

 附加文件     - [0]


 添加评论