opencron安装部署经验

定时任务调度系统 opencron

opencron:一个功能完善且通用的开源定时任务调度系统,拥有先进可靠的自动化任务管理调度功能,提供可操作的web图形化管理满足多种场景下各种复杂的定时任务调度,同时集成了linux实时监控

ae46442cecc2a1aa80adcf94a85ad3cfc7e.jpg

主要包括以下特点:
1、允许设置每个脚本的超时时间,超时操作可选择邮件通知管理者,或强杀脚本进程。
2、允许设置脚本的最大并发数。
3、一台server管理多个client。
4、每个脚本都可在server端灵活配置,如测试脚本运行,查看日志,强杀进程,停止定时…。
5、允许添加脚本依赖(支持跨服务器),依赖脚本提供同步和异步的执行模式。
6、友好的web界面,方便用户操作。
7、脚本出错时可选择邮箱通知多人。
8、支持常驻任务,任务失败后可配置自动重启。
9、支持管道操作。

前言:基础环境

            jdk1.8.0以上

            tomcat

           maven

opencron-agent 部署安装
下载源码
[root@cm-vpn1 ~]# cd /usr/local/src/
[
[root@cm-vpn1 src]# git clone https://github.com/wolfboys/opencron.git
C
Cloning into 'opencron'...
r
remote: Counting objects: 5168, done.
r
remote: Total 5168 (delta 0), reused 0 (delta 0), pack-reused 5168
R
Receiving objects: 100% (5168/5168), 6.77 MiB | 1.88 MiB/s, done.
R
Resolving deltas: 100% (2396/2396), done.


执行sh build编译
说明:编译报错没有安装maven
[root@cm-vpn1 ~]# cd /usr/local/src/
[
[root@cm-vpn1 src]# ls
a
apache-tomcat-8.5.31.tar.gz  jdk-8u131-linux-x64.tar.gz  mysql-5.6.35-linux-glibc2.5-x86_64.tar.gz  opencron
[
[root@cm-vpn1 src]# cd opencron/
[
[root@cm-vpn1 opencron]# ls
a
agent.sh  build.sh  checkstyle.xml  header.txt  LICENSE.txt  opencron-agent  opencron-common  opencron-server  pom.xml  README.md  server.sh
[
[root@cm-vpn1 opencron]# sh build.sh 

 


      --------------------------------------------
 
    /                                              \
 
   /   ___  _ __   ___ _ __   ___ _ __ ___  _ __    \
 
  /   / _ \| '_ \ / _ \ '_ \ / __| '__/ _ \| '_ \    \
 
 /   | (_) | |_) |  __/ | | | (__| | | (_) | | | |    \
 
 \    \___/| .__/ \___|_| |_|\___|_|  \___/|_| |_|    /
 
  \        |_|                                       /
 
   \                                                /
 
    \       --opencron,Let's crontab easy!         /
 
      --------------------------------------------

 


[
[opencron] WARNING:maven is not install!
[
[opencron] download maven Starting...
[
[opencron] checking network connectivity ... 
[
[opencron] network is connectioned,download maven Starting... 
-
--2018-06-12 02:02:34--  http://mirror.bit.edu.cn/apache/maven/maven-3/3.5.2/binaries/apache-maven-3.5.2-bin.tar.gz
R
Resolving mirror.bit.edu.cn (mirror.bit.edu.cn)... 2001:da8:204:2001:250:56ff:fea1:22, 202.204.80.77
C
Connecting to mirror.bit.edu.cn (mirror.bit.edu.cn)|2001:da8:204:2001:250:56ff:fea1:22|:80... failed: Connection timed out.
C
Connecting to mirror.bit.edu.cn (mirror.bit.edu.cn)|202.204.80.77|:80... connected.
H
HTTP request sent, awaiting response... 404 Not Found
2
2018-06-12 02:04:44 ERROR 404: Not Found.

 

[
[opencron] build opencron Starting...
b
build.sh: line 225: clean: command not found
[
[opencron] build opencron failed! please try again 

 

安装maven
[root@cm-vpn1 src ]#  wget http://mirror.bit.edu.cn/apache/maven/maven-3/3.5.3/binaries/apache-maven-3.5.3-bin.tar.gz

 

[
[root@cm-vpn1 src ]# tar -xvf apache-maven-3.5.3-bin.tar.gz

 

[
[root@cm-vpn1 src ]# mv apache-maven-3.5.3 /usr/local/maven

 

配置maven 环境变量
[root@cm-vpn1 ~]#  vim /etc/profile

 

*
*************
*
*************
*
*************
e
export MAVEN_HOME=/usr/local/maven
e
export MAVEN_HOME
e
export PATH=$PATH:$MAVEN_HOME/bin

 

编译完成的文件在/usr/local/src/opencron 目录下有会生成dist
说明:部署agent,将opencron-agent-1.1.0-RELEASE.tar.gz包拷贝到要管理任务的目标服务器,解包后会看到以下目录
root@li1016-179 ~]# cd /usr/local/src/
[
[root@li1016-179 src]# ls
o
opencron-agent-1.1.0-RELEASE.tar.gz  s3cmd-2.0.1.tar.gz
[
[root@li1016-179 src]# tar -xvf opencron-agent-1.1.0-RELEASE.tar.gz 

 


[
[root@li1016-179 src]# cd opencron-agent
[
[root@li1016-179 opencron-agent]# ls *
b
bin:
k
kill.sh  monitor.sh  opencron.sh  setclasspath.sh  shutdown.sh  startup.sh

 

c
conf:
c
conf.properties  log4j.properties

 

l
lib:
c
commons-cli-1.4.jar        freemarker-2.3.20.jar                      junit-4.11.jar                    netty-handler-4.1.5.Final.jar                 protostuff-collectionschema-1.0.12.jar
c
commons-codec-1.10.jar     hamcrest-core-1.3.jar                      libthrift-0.10.0.jar              netty-resolver-4.1.5.Final.jar                protostuff-core-1.0.12.jar
c
commons-exec-1.3.jar       HikariCP-java6-2.3.13.jar                  log4j-1.2.16.jar                  netty-socketio-1.7.12.jar                     protostuff-runtime-1.0.12.jar
c
commons-io-2.4.jar         httpclient-4.5.3.jar                       maven-model-3.0.jar               netty-transport-4.1.5.Final.jar               quartz-2.3.0.jar
c
commons-lang-2.4.jar       httpcore-4.4.1.jar                         mchange-commons-java-0.2.11.jar   netty-transport-native-epoll-4.1.5.Final.jar  slf4j-api-1.7.21.jar
c
commons-lang3-3.1.jar      jackson-annotations-2.9.0.jar              netty-buffer-4.1.5.Final.jar      opencron-agent-1.1.0-RELEASE.jar              slf4j-log4j12-1.7.21.jar
c
commons-logging-1.1.1.jar  jackson-core-2.9.2.jar                     netty-codec-4.1.5.Final.jar       opencron-common-1.1.0-RELEASE.jar
c
cron4j-2.2.5.jar           jackson-databind-2.9.2.jar                 netty-codec-http-4.1.5.Final.jar  plexus-utils-2.0.4.jar
f
fastjson-1.2.31.jar        jackson-module-jaxb-annotations-2.9.2.jar  netty-common-4.1.5.Final.jar      protostuff-api-1.0.12.jar

 

l
logs:

 

t
temp:



启动opencron-agent 进入opencron-agent/bin
说明:这里可以接受两个参数,分别是服务启动的端口和密码,默认端口是:1577,默认密码:opencron 如要指定参数启动命令如下
[root@li1016-179 ~ ]#/usr/local/src/opencron-agent/bin
[
[root@li1016-179 bin]# sh startup.sh 

 


      --------------------------------------------
 
    /                                              \
 
   /   ___  _ __   ___ _ __   ___ _ __ ___  _ __    \
 
  /   / _ \| '_ \ / _ \ '_ \ / __| '__/ _ \| '_ \    \
 
 /   | (_) | |_) |  __/ | | | (__| | | (_) | | | |    \
 
 \    \___/| .__/ \___|_| |_|\___|_|  \___/|_| |_|    /
 
  \        |_|                                       /
 
   \                                                /
 
    \       --opencron,Let's crontab easy!         /
 
      --------------------------------------------

 


[
[opencron] Using OPENCRON_BASE:   /usr/local/src/opencron-agent
[
[opencron] Using OPENCRON_HOME:   /usr/local/src/opencron-agent
[
[opencron] Using OPENCRON_TMPDIR: /usr/local/src/opencron-agent/temp
[
[opencron] Using JRE_HOME:        /usr/local/jdk1.8
[
[opencron] Using CLASSPATH:       /usr/local/src/opencron-agent/lib/opencron-agent-1.1.0-RELEASE.jar
[
[opencron] Using OPENCRON_PID:    /usr/local/src/opencron-agent/opencron.pid
[
[opencron] opencron port not input,will be used port:1577
[
[opencron] opencron password not input,will be used password:opencron
[
[opencron] opencron started.

 

停止opencron-agent
[root@li1016-179 bin]# sh shutdown.sh 

 


      --------------------------------------------
 
    /                                              \
 
   /   ___  _ __   ___ _ __   ___ _ __ ___  _ __    \
 
  /   / _ \| '_ \ / _ \ '_ \ / __| '__/ _ \| '_ \    \
 
 /   | (_) | |_) |  __/ | | | (__| | | (_) | | | |    \
 
 \    \___/| .__/ \___|_| |_|\___|_|  \___/|_| |_|    /
 
  \        |_|                                       /
 
   \                                                /
 
    \       --opencron,Let's crontab easy!         /
 
      --------------------------------------------

 


[
[opencron] Using OPENCRON_BASE:   /usr/local/src/opencron-agent
[
[opencron] Using OPENCRON_HOME:   /usr/local/src/opencron-agent
[
[opencron] Using OPENCRON_TMPDIR: /usr/local/src/opencron-agent/temp
[
[opencron] Using JRE_HOME:        /usr/local/jdk1.8
[
[opencron] Using CLASSPATH:       /usr/local/src/opencron-agent/lib/opencron-agent-1.1.0-RELEASE.jar
[
[opencron] Using OPENCRON_PID:    /usr/local/src/opencron-agent/opencron.pid
E
Error: Could not find or load main class org.opencron.agent.AgentBootstrap
[
[opencron] The stop command failed. Attempting to signal the process to stop through OS signal.
[
[opencron] opencron stopped.

 

opencron-server 部署步骤
创建opencron库
[root@cm-vpn1 ~]# mysql -uroot -p
E
Enter password: 
W
Welcome to the MySQL monitor.  Commands end with ; or \g.
Y
Your MySQL connection id is 632
S
Server version: 5.6.35 MySQL Community Server (GPL)

 

C
Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.

 

O
Oracle is a registered trademark of Oracle Corporation and/or its
a
affiliates. Other names may be trademarks of their respective
o
owners.

 

T
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

 

m
mysql> create database opencron;
Q
Query OK, 1 row affected (0.00 sec)



配置opencron server
说明:修改数据库密码即可
[root@cm-vpn1 ~]# vim /usr/local/src/opencron/opencron-server/target/classes/config.properties

 

j
jdbc.driver=com.mysql.jdbc.Driver
j
jdbc.url=jdbc:mysql://127.0.0.1:3306/opencron?useUnicode=true&characterEncoding=utf8&useCursorFetch=true&autoReconnect=true&failOverReadOnly=false
j
jdbc.username=root
j
jdbc.password=123456

 

#
#hibernate
h
hibernate.dialect=org.hibernate.dialect.MySQL5Dialect
h
hibernate.show_sql=true
h
hibernate.format_sql=false
h
hibernate.current_session_context_class=org.springframework.orm.hibernate4.SpringSessionContext
h
hibernate.cache.provider_class=net.sf.ehcache.hibernate.EhCacheProvider
h
hibernate.cache.region.factory_class=org.hibernate.cache.ehcache.EhCacheRegionFactory
h
hibernate.cache.use_second_level_cache=false
h
hibernate.cache.use_query_cache=false
j
jdbc.use_scrollable_resultset=false

 

#
#单一登陆,同一用户只能在一处登陆,如多处登陆,后登陆的会把前面已经登陆的统统踢下线(为了安全考虑,默认是true,即不允许多段同时登陆)
o
opencron.singlelogin=true

 

#
#agent端自动注册的key
o
opencron.autoRegKey=opencron@2016

 

#
#agent监控服务端口
o
opencorn.monitorPort=17502


启动opencron server服务
[root@cm-vpn1 opencron]#cd /usr/local/src/opencron

 

[
[root@cm-vpn1 opencron]# sh server.sh 

 


      --------------------------------------------
 
    /                                              \
 
   /   ___  _ __   ___ _ __   ___ _ __ ___  _ __    \
 
  /   / _ \| '_ \ / _ \ '_ \ / __| '__/ _ \| '_ \    \
 
 /   | (_) | |_) |  __/ | | | (__| | | (_) | | | |    \
 
 \    \___/| .__/ \___|_| |_|\___|_|  \___/|_| |_|    /
 
  \        |_|                                       /
 
   \                                                /
 
    \       --opencron,Let's crontab easy!         /
 
      --------------------------------------------

 


[
[opencron]  server Starting.... 
[
[opencron]  please see log for more detail: /usr/local/src/opencron/dist/opencron-server/work/logs/opencron.out 

 

#
#监听端口8080
[
[root@cm-vpn1 opencron]# !net
n
netstat -nvlpt
A
Active Internet connections (only servers)
P
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
t
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      31062/sshd          
t
tcp        0      0 0.0.0.0:600             0.0.0.0:*               LISTEN      14174/python        
t
tcp6       0      0 :::3306                 :::*                    LISTEN      7534/mysqld         
t
tcp6       0      0 :::8080                 :::*                    LISTEN      8093/java           
t
tcp6       0      0 :::22                   :::*                    LISTEN      31062/sshd          


网页访问
第一次访问登录默认用户和密码是opencron,并且会提示修改密码
 

转载于:https://my.oschina.net/u/4000849/blog/2934445

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值