【介绍】
官网:https://github.com/iwannay/jiacrontab
演示:http://jiacrontab.iwannay.cn/
账号:admin / 123456
参考:http://www.wuliaole.com/post/what_you_need_to_know_about_cron_and_crontab/
【安装】
安装git、golang(version 1.11.x):
源码安装 jiacrontab :
cd $GOPATH && mkdir src && cd src git clone [email protected]:iwannay/jiacrontab.git && cd jiacrontab wget https://github.com/iwannay/jiacrontab/archive/master.zip && cd jiacrontab-master make build
运行服务器端:
cd /root/src/jiacrontab-master/app/jiacrontab/server nohup ./jiaserver &> jiaserver.log &
输出:
[1] 32014
运行客户端:
cd /root/src/jiacrontab-master/app/jiacrontab/client nohup ./jiaclient &> jiaclient.log &
输出:
[1] 32021
浏览器访问 host:port (eg: localhost:20000) 即可访问可视化界面。
升级:
1. 下载新版本压缩包,并解压。
2. 如果旧版存在 server/.data 和 client/.data 则拷贝至新版相同位置
3. 拷贝 server/data 、 client/data 、 server/server.ini 、 client/client.ini 至新版相同位置
4. 运行新版
【配置】
服务端配置文件 server.ini
;允许使用的command 可以在后面添加自己的command,用逗号隔开 allow_commands = php,/usr/local/bin/php,python,node,curl,wget,sh,uname,grep,cat,sleep
客户端配置文件 client.ini
; pprof 监听地址 pprof_addr = :20002 ; 本机rpc监听地址 listen= :20001 ; 推送给server的地址 host:port 在可视化界面展示 ; 写本机IP推送给server之后 server记录下这个ip, server发送请求通过此地址 local_addr = localhost:20001 ; server 地址 服务器 host:port 除非在同一台机器部署双端 否则需要更改 server_addr =localhost:20003 ; 日志目录 dir = logs ; 自动清理大于一个月或者单文件体积大于1G的日志文件 clean_task_log = true
【使用】
定时任务
1. 超时设置和超时操作:超时后会进行设置的超时操作,默认值为0,不判断超时。
2. 最大并发数:最大并发数 控制 同时有几个脚本进程;默认最大并发数为1,若不设置超时时间,当定时任务第二次执行时,若上一次执行还未完成,则会kill上一个脚本,进行本次执行。防止脚本无法正常退出而导致系统资源耗尽
3. 添加依赖:依赖就是用户脚本执行前,需要先执行依赖脚本,只有依赖脚本执行完毕才会执行当前脚本。
3.1 并发执行:并发执行依赖脚本,任意一个脚本出错或超时不会影响其他依赖脚本,但是会中断用户脚本
3.2 同步执行:同步执行依赖脚本,执行顺序为添加顺序,如果有一个依赖脚本出错或超时,则会中断后继依赖,以及用户脚本
4. 脚本异常退出通知 如果脚本退出码不为0,则认为是异常退出。
常驻任务
常驻任务检查脚本进程是否退出,如果退出再次重启,保证脚本不停运行;其他同 定时任务。
【附录】
错误日志
错误日志存放在配置文件设置的目录下
定时任务为logs/crontab_task
计划任务为daemon_task 日志文件准确为日期目录下的ID.log (eg: logs/crontab_task/2018/01/01/1.log)
错误日志信息
1. 正常错误日志
2. 程序原因产生的错误日志
3. 自定义错误日志
4. 程序中自定义输出 需要在输出信息后面加入换行 (eg: echo ‘自定义错误信息’.“\n” )