任务中心

Task 插件提供强大的任务编排与执行能力,支持脚本执行、模板管理、文件分发等功能。

功能概览

任务中心概览
图:任务中心概览

脚本执行

支持 Shell、Python、Perl 等多种脚本语言

模板管理

创建可复用的任务模板,支持参数化

文件分发

批量向多台主机分发文件

执行历史

完整的任务执行记录和日志

执行任务

执行任务页面
图:执行任务页面

直接执行脚本

选择执行方式

进入「任务中心」→「执行任务」,选择「脚本执行」

编写脚本

在编辑器中编写脚本内容

#!/bin/bash
echo "系统信息:"
uname -a
echo "磁盘使用:"
df -h
echo "内存使用:"
free -m

选择目标主机

勾选要执行脚本的主机(支持多选)

执行并查看结果

点击「执行」,实时查看执行日志和结果

使用任务模板

选择模板

选择「使用模板」,从模板列表中选择

填写参数

如果模板有参数,填写参数值

选择主机并执行

选择目标主机,点击执行

任务模板

模板列表
图:任务模板管理

创建模板

字段说明
模板名称模板的显示名称
模板编码唯一标识符(英文)
模板描述模板用途说明
分类script / ansible / module
平台linux / windows
脚本内容实际执行的脚本
超时时间执行超时秒数
创建模板
图:新增任务模板

参数化模板

使用 {{参数名}} 占位符定义参数:

#!/bin/bash
# 软件安装模板
# 参数: PACKAGE_NAME - 要安装的软件包
# 参数: SERVICE_NAME - 服务名称

echo "开始安装 {{PACKAGE_NAME}}..."
apt-get update
apt-get install -y {{PACKAGE_NAME}}

echo "启动服务 {{SERVICE_NAME}}..."
systemctl start {{SERVICE_NAME}}
systemctl enable {{SERVICE_NAME}}

echo "安装完成!"
systemctl status {{SERVICE_NAME}}

执行时系统会提示输入参数值。

模板参数
图:执行时填写模板参数

文件分发

文件分发
图:文件分发功能

分发流程

上传文件

选择要分发的文件或目录

配置参数

参数说明
目标路径文件存放位置
文件权限如 755、644
所有者user:group 格式

选择目标主机

选择要分发到的主机

开始分发

查看分发进度和结果

脚本语言

Shell 脚本

#!/bin/bash
set -e  # 遇到错误立即退出

# 检查服务状态
echo "检查 nginx 服务状态..."
systemctl status nginx

# 获取系统信息
echo "系统信息:"
uname -a

# 磁盘使用情况
echo "磁盘使用情况:"
df -h

Python 脚本

#!/usr/bin/env python3
import os
import subprocess

def check_disk_usage():
    """检查磁盘使用率"""
    result = subprocess.run(['df', '-h'], capture_output=True, text=True)
    print(result.stdout)

def check_memory():
    """检查内存使用"""
    with open('/proc/meminfo', 'r') as f:
        for line in f:
            if 'Mem' in line:
                print(line.strip())

if __name__ == '__main__':
    print("=== 系统检查 ===")
    check_disk_usage()
    check_memory()

执行历史

执行历史
图:任务执行历史

查看所有任务的执行记录:

字段说明
任务名称任务/模板名称
执行时间任务开始时间
执行用户发起执行的用户
目标主机执行任务的主机数量
执行状态成功/失败/部分成功
执行耗时任务执行时长

点击记录可查看每台主机的详细执行日志。

最佳实践

使用 Shebang

始终在脚本开头指定解释器:#!/bin/bash

错误处理

使用 set -e 或检查命令返回值

幂等设计

脚本可重复执行不产生副作用

超时保护

对长期运行的命令设置超时