之前有很多朋友跟我们提过建议,希望能调度Windows上的作业。这次TASKCTL5.0更新,我们发布了Java版的TASKCTL代理端。为实现跨平台调度提供了可能,现在我们可以通过该代理端来调度Windows平台的作业了。下面给大家介绍一下使用过程:
一、安装部署:
1、下载安装包:TaskctlAgent_5.0.1.zip。
2、解压后放至任意目录下。如D:\TaskctlAgent。
3、以管理员身份运行安装目录下install.bat(需java运行时环境),并按提示设置IP和端口。
4、以管理员身份运行安装目录下ctlstart.bat(需java运行时环境)。
5、登入TASKCTL桌面客户端admin,配置Windows代理节点如下图:
6、在admin的节点关系图中启动Windows代理如下图:
二、批处理作业类型调度实例:
1、编写D:\taskctl_test.bat文件如下:
@echo off echo 好好学习 %1% exit 0
2、登入TASKCTL桌面客户端designer,编写模块代码如下:
<serial> <name>MainModul_rootnode</name> <begin> <name>MainModul_beginjob</name> </begin> <!-- 用户模块代码自定义区开始 --> <exe> <!-- 指定该作业在agent_win代理端执行 --> <name>bat_job</name> <agentid>agent_win</agentid> <progname>d:\taskctl_test.bat</progname> <para>天天向上</para> </exe> <!-- 用户模块代码自定义区结束 --> <end> <name>MainModul_endjob</name> </end> </serial>
3、保存编译后,登入桌面客户端monitor。成功运行该作业后,并查看日志如下图:
三、Windows代理端常见问题与解答
Q:只安装Windows代理端就可以结合Windows客户端进行调度和管理吗?
A:不可以。Windows代理端,只是TASKCTL服务端的一个组件,仍需要安装Linux服务端。
Q:可以进行Windows 环境的kettle ETL调度吗?
A:支持。理论上可以调度各种cmd命令及程序。也就是说在控制台能够运行的都支持。
Q:为什么系统提示Windows代理没有启动?
A:Windows代理安装和启动后,会以系统服务的形式运行。还需要在桌面客户端admin中节点关系图中显式启动该代理端。
Q:为什么执行一个windows命令,如del d:\a.txt 会报sh: command not found?
A:需要设置作业的<agentid>[自定义的windows代理名称]</agentid>。否则调度服务会默认在linux环境运行。
Q:为什么有的作业日志显示不全?
A:Windows代理端采用操作系统的默认编码GBK。如果作业内部存在多种编码的情况,会抛弃编码不正常的日志。
四、注意事项
1、已知缺陷:在服务端已完成代理巡检(ctlinit)的情况下,启动本代理程序。服务端连接代理的响应时间大概需要5分钟左右。会对操作体验有一定程度的影响。因此建议:首先安装并启动完毕代理程序,再开启服务端监听和启动服务。
2、暂不支持插件机制:您可以直接调度windows环境下的各种程序和各种命令。但暂不支持配置TASKCTL个性化的windows作业类型插件。
3、该版本在windows 7/windows 10/windows server 2008 环境下已充分内测,可保证7*24h稳定运行。但是因为测试环境资源有限,不排除在其它版本的windows 操作系统中产生未知BUG。若有疑问,请及时与我们联系。
[最后编辑于 2017-08-08 10:38 ]
请登录后评论~