1.Rundeck介绍
Rundeck(http://rundeck.org)是开源软件,可以帮助你自动化管理日常操作程序,Rundeck提供了许多特性,将缓解耗时的繁重任务。Rundeck允许在任意数量的节点上运行,并配套有非常方便的可视化界面,Rundeck还包括其他功能,如:访问控制、工作流构建、调度、日志记录等。另外有类似作用的有cdh的oozie,但个人觉得这个用起来来还方便简洁些。
特性:
Web API
分布式的命令执行
SSH
多步骤工作流程
作业执行需求和计划运行
图形web控制台和命令执行工作
给予角色的访问控制策略支持
历史和审计日志
2.安装
下载好jar包,如 rundeck-launcher-2.6.7.jar;
新建一个Rundeck目录(就是你要安装的地方),并将该目录以RDECK_BASE添加到classpath,如在/etc/profile中添加export RDECK_BASE=/cloud/rundeck;
将jar包拷贝到该目录下,直接运行 Java -jar rundeck-launcher-2.6.7.jar, 如出现如下界面则安装成功;
另外,启动rundeck可通过$RDECK_BASE/server/sbin/rundeck start启动
默认端口是 4440,可以通过 IP:4440 来看Rundeck的界面,默认账号和密码都是admin;
3.使用
新建一个Project
过图形界面新建一个Project Test,对应的目录是 rundeck/projects/Test;
可对该project添加操作节点,目录是rundeck/projects/Test/etc/resources.xml中,如图:
添加node节点即可;
另外可对该project进行导入导出,如图:
新建一个任务Job(这里只讲一些特殊的属性)
新建变量如图,在后面写命令的时候,可通过${option.op1}调用op1变量 ;
发送邮件,如图:
在任务开始、失败、成功时都可以发送邮件,邮件的配置信息需要添加在rundeck/server/config/rundeck-config.properties中,配置如下:
这里使用的是QQ邮箱,注意必须开通邮箱的POP3/SMTP功能。
定时任务,如图:
可通过Crontab来定时任务,规则就不详细讲了,度娘很明白!
其他,还可以配置允许同时多次执行同一个任务,失败或超时时自动重试,重试次数也可自行设定。
4. 修改数据库存储
默认所有的数据都是以文件的形式存储的,时间越久数据量越大,操作起来就越慢,服务器突然断电的情况下Rundeck很有可能就再也起不来了,故我们可以将数据存储在MySQL中,配置文件也是在rundeck/server/config/rundeck-config.properties中,配置如下:
dataSource.url = jdbc:mysql://192.168.1.34/rundeck?autoReconnect=true&useUnicode=true&characterEncoding=UTF8
dataSource.username=root
dataSource.password=****
重启Rundeck即可。
网友评论