Skip to content

tielongphp/crontab-manager

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 

Repository files navigation

crontab-manager

crontab-manager 是一套对linux下crontab的管理系统,主要提供crontab界面化的管理,即管理多台crontab服务。

主要功能点

1、提供对任务的增,删,改,查,手动触发执行,暂停,启用,并确保任务不会重复执行。
2、提供任务执行记录,执行结果,执行状态,执行耗时。
3、提供查看远程主机任务列表,任务执行失败报警等功能。

工作原理

crontab-manager系统是前后端分离的,crontab-frontend使用Vue.js, crontab-backend使用php提供接口
所以下图用户可以直接调接口,也可通过页面操作
avatar

安装

1.首先准备一台任务机,就是执行crontab的机器,如果想一键安装就让任务机开放出来一个可以通过用户名,密码登录的ssh用户,用来连接任务机初始化环境。
2.创建数据库将Cronjob.sql导入到数据库中即可。
2.修改crontab-deploy-script/crontab-backend/crontab-backend-conf/.env.dev 文件中DB_*对应的值就行了

一键安装:
./install.sh 11.11.11.11:9099 11.11.11.22:8088 "devops:123456@11.11.11.33:2222"

以上参数皆为示例,用时替换成自己的即可。
第一个参数是后端接口对外提供访问的地址,端口必填。
第二个参数是前端页面对外提供访问的地址,端口必填。
第三个参数是任务机的地址,这个参数的作用主要有2个:1初始化crontab-backend的ansible调用环境,2.初始化任务机crontab的ssh认证环境。
如果这个任务机地址不对外提供ssh登录时,则只初始化crontab-backend的ansible调用环境,而crontab的ssh认证环境需要手动的去初始化。
如果不提供这个参数则,crontab-backend的ansible,crontab的ssh认证环境 都需要自己手动初始化。

只安装crontab-backend服务:
./install.sh 11.11.11.11:9099 "devops:123456@11.11.11.33:2222"

第一个参数对应上面 ./install.sh的第一个参数,作用一样
第二个参数对应上面 ./install.sh的第三个参数,作用一样

只安装crontab-frontend服务:
./install.sh 11.11.11.11:9099 11.11.11.22:8088

第一个参数对应上面 ./install.sh的第一个参数,作用一样
第二个参数对应上面 ./install.sh的第二个参数,作用一样

手动初始化crontab-backend ansible环境:
echo "11.11.11.33 ansible_ssh_user=devops ansible_ssh_port=2222" >> /etc/ansible/hosts

上面信息是任务机的ip,用户,ssh端口

手动初始化crontab任务机ssh环境:

登录任务机后 到达对外访问用户的家目录,例如/home/devops 然后执行:

mkdir -p .ssh && chmod 700 .ssh && mkdir -p /opt/kycrond && mkdir -p /opt/kycrond/logs && mkdir -p /opt/kycrond/locks  && chown -R devops: /opt/kycrond

将crontab-deploy-script/crontab-backend/id_rsa.pub 拷贝到 .ssh目录里
将crontab-deploy-script/start.sh拷贝到/opt/kycrond目录中
记得把start.sh中pushurl="http://11.11.11.11:9099/console/external/loghandle/collect" 的 ip:port 替换成crontab-backend对外提供的ip:port地址即可。
然后再执行:

chmod a+x /opt/kycrond/start.sh && chown devops:devops .ssh && touch .ssh/authorized_keys && chmod 600 .ssh/authorized_keys && cat .ssh/id_rsa.pub >> .ssh/authorized_keys

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published