# cron_go **Repository Path**: lmofei/cron_go ## Basic Information - **Project Name**: cron_go - **Description**: golang+vue写的定时任务管理程序,web操作更方便 - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-06-29 - **Last Updated**: 2021-07-06 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 项目截图 ![输入图片说明](https://images.gitee.com/uploads/images/2021/0630/181302_e6ac7d05_7564881.png "屏幕截图.png") ![输入图片说明](https://images.gitee.com/uploads/images/2021/0630/181326_77ad6fab_7564881.png "屏幕截图.png") ![输入图片说明](https://images.gitee.com/uploads/images/2021/0630/181341_5a7ef104_7564881.png "屏幕截图.png") ![输入图片说明](https://images.gitee.com/uploads/images/2021/0630/181355_2bf764d9_7564881.png "屏幕截图.png") # 注意:很重要的一点: 该项目中,golang使用的crontab库是 github.com/gorhill/cronexpr 在添加定时任务时,定时任务表达式的书写规则一定要 严格按照该库标明的方式做,这里大致介绍一下,更详细的请移步:https://github.com/gorhill/cronexpr, ``` Field name Mandatory? Allowed values Allowed special characters ---------- ---------- -------------- -------------------------- Seconds No 0-59 * / , - Minutes Yes 0-59 * / , - Hours Yes 0-23 * / , - Day of month Yes 1-31 * / , - L W Month Yes 1-12 or JAN-DEC * / , - Day of week Yes 0-6 or SUN-SAT * / , - L # Year No 1970–2099 * / , - ``` 表达式 ``` 在一个区域里填写多个数值的方法: 逗号(,)表示列举,例如: 1,3,4,7 * * * * echo hello world 表示,在每小时的1、3、4、7分时,打印"hello world"。 连词符(-)表示范围,例如:1-6 * * * * echo hello world ,表示,每小时的1到6分钟内,每分钟都会打印"hello world"。 星号(*)代表任何可能的值。例如:在“小时域”里的星号等于是“每一个小时”。 百分号(%) 表示“每"。例如:*%10 * * * * echo hello world 表示,每10分钟打印一回"hello world"。 ``` 例如: ``` */5 * * * * * * 意为每隔5秒钟执行 1 * * * * * * 意为每分钟的第1秒执行 ``` 另外,服务器端配置文件在cron_go/config/cron.go文件中,启动前请修改定时任务备份文件的绝对路径和任务日志的绝对路径,以免报错 # 部署 # 1.启动golang服务端 ## 进入到cron_go/cron_go目录 ## 下载项目所需依赖包 ``` go mod download ``` ## 如果无法访问proxy.golang.org可以设置国内代理 ``` go env -w GOPROXY=https://goproxy.cn ``` ## 让服务在后台跑起来 ``` nohup go run main.go & ``` # 2.启动web端 ## Vue脚手架准备好,进入项目的web目录,执行: ``` npm install ``` ## 启动 ``` npm run serve ``` # 3.我把项目打包成了一个docker镜像,方便测试 ## 拉取镜像文件 ``` docker pull registry.cn-shanghai.aliyuncs.com/lmofi/cron_go:v1 ``` ## 根据镜像启动容器,注意绑定的端口号 ``` docker run -idt --name "cron_go" -p 9003:8080 registry.cn-shanghai.aliyuncs.com/lmofi/cron_go:v1 ``` ## 进入容器 ``` docker exec -it cron_go /bin/bash ``` ## 后端代码路径在/go/src/cron_go/cron_go,进到该路径中启动后端服务 ``` cd /go/src/cron_go/cron_go nohup go run main.go & ``` ## web页面路径在/go/src/cron_go/web,进到该路径中启动web服务 ``` cd /go/src/cron_go/web cnpm run serve ``` # 4.然后再本地浏览器中访问 http://localhost:9003 用户名:admin 密 码:a123456