Git Product home page Git Product logo

crontab-manager's Introduction

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:[email protected]: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:[email protected]: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

crontab-manager's People

Contributors

crazyxman avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.