19.周期性定时计划任务


读书笔记


周期性安排进程任务

    crond 

     第1步:service crond start [开启crond命令,默认是关闭的,打开就可以了]

     工作原理:
     crond 进程搜索crontab文件并载入内存
     crontab文件即/var/spool/cron目录下以用户名命名的文件。
  
     crond 进程启动后,它将首先检查是否用户设置了crontab文件,如果没有转入“休眠”状态,释放系统资源。
     
     crond进程每分钟醒来一次,查看crontab文件决定当前是否需要执行的命令。
     命令执行结束后,任何输出都将作为邮件发送给crontab的所有者。


     crontab -e [-u root/yangyi] 编辑这个文件。自动保存在/var/spool/cron目录下了,如果是root用户编辑的这个文件,那么,就在/var/spool/cron就会有一个名字为root的文件表示是root创建的周期性任务。
  
     crontab -l    将使在标准输出中[当前终端中]输出显示当前的crontab文件的内容,这是一种快捷的方式查看当前的周期性任务,免得用 
     [root@localhost ~]# cd /var/spool/cron
     [root@localhost cron]# ll
      root
     [root@localhost ~]# cat root     //这样每次就麻烦多了。直接crontab -l 就可以看到root中的周期性任务内容了。

   crontab -r  删除当前的crontab文件


   crontab文件由6部分组成
   minute: 一小时的哪一分钟[0-59]
   hour:  一天中的哪个小时[0--23]
   day-of-mouth : 一个月中的哪一天[1--31]
   month-of-year :一年中的哪一月[1--12]
   day-of-week:一周的哪一天[0--6]
   commands: 用户执行的一个周期性命令,也是使用命令的全路径/bin/cp 不能是cp

这6点需要注意的几点:
    1.这些项都不能为空。必须填入
    2.如果用户不需要指定其中的几项,那么可以使用通配符号“*”表示任何时间。
    3.每个时间字段都可以指定多个值,它们可以用逗号“,”间隔。也可以5-8间隔 。 */5表示每隔5(      分、小时、周、月)
    4.命令应该给出绝对路径
    5.用户必须具有运行所对应命令或程序的权限。


15 3 * * 1-5 /bin/find $HOME -name core 2 > /dev/null|rm -f  //每周一到周五的3点15分执行查找                                                              用户家目录下的文件并删除

0 5 * * * /sbin/update/updatedb        //每天的5点整执行跟新目录结构数据库。

30 6 * * * /somewhere/script      //每天6点30 执行某某目录下的脚本。

30 21 * * wen /somewhere/script    //每个星期三的21点30分,执行某某目录下的脚本。

* */2 * * * /somewhere/script     //每隔2小时,执行某某目录下的脚本。

* 8-17 * * * /somewhere/script    //每天的8-17点,执行某某目录下的脚本。


crond的执行结果和配置文件
   
crond的结果会通过邮件寄给提交这个命令的用户mail 

crond的配置文件:限制哪些用户可以使用crondtab命令
   
/etc/cron.allow   如果这个文件存在,那么只在列在此文件中的用户才可以使用crontab命令文件如果不存在则查/etc/cron.deny

/etc/cron.deny 如果这个文件存在,则在此文件中列出的用户都不能使用crontab命令
    
如果两个文件都不存在,则只有root用户可以使用crontab命令。
如果这两个文件都存在,而且都为空,则所有的用户都可以使用crontab命令




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
## 项目功能 1. 架构潮流:系统采用SpringBoot+VUE前后端分离,前端单独部署,Nginx负载均衡 2. 接口友好:同时支持swagger2、knife4j两种可视化接口API调试,支持离线接口文档; 3. 任务管理:支持通过Web页面对任务进行CRUD操作,可视化界面,快速上手; 4. 执行记录:支持通过web页面在线查看调度结果、执行结果、下次执行时间; 5. 实时日志:支持通过web页面实时查看执行器输出的完整的执行日志; 6. 唯一搜索:支持通过web界面根据jobname或jobgroup进行全局唯一查询 7. 强自定义:支持在线配置定时任务请求类型、请求路径、请求参数、Cron表达式,即时生效; 8. 动态控制:支持动态修改任务状态、启动/停止任务,以及终止运行任务,即时生效; 9. 执行策略:支持丰富的执行策略,包括:Get请求、PostJson请求、PostFrom表单请求; 10. 自动注册:周期性自动注册任务, 同时,也支持手动录入定时任务地址; 11. 自动执行:系统会自动发现注册的任务并触发执行,同时,也支持手动触发-立即执行; 12. 用户管理:支持在线管理系统用户、角色、菜单,默认管理员、开发者、普通用户三种角色; 13. 权限控制:支持在线权限控制,管理员拥有全量权限,开发者拥有除角色管理外的所有权限,普通用户仅支持任务管理相关权限; 14. 集群部署:支持分布式执行,系统支持集群部署,可保证任务执行的高可用; 15. 弹性调度:一旦有任务机器上线或者下线,下次调度时将会重新分配任务; 16. 路由策略:系统集群部署时提供丰富的路由策略,包括:轮询、随机、故障转移、忙碌转移等常用策略; 17. 故障转移:任务路由策略选择"故障转移"情况下,如果集群某一台机器故障,将会自动切换到一台正常的执行器发送调度请求; 18. 阻塞策略:调度过于密集执行器来不及处理时的处理策略,策略包括:单机串行(默认)、丢弃后续调度、覆盖之前调度; 19. 超时控制:支持自定义任务超时时间任务运行超时将会主动任务; 20. 重试机制:支持自定义任务重试次数,当任务失败时将会按照预设的失败重试次数主动进行重试; 21. 消息工厂:默认提供邮件工厂的方式推送消息,同时预留扩展接口,可方便的扩展短信、钉钉等消息方式; 22. 邮件告警:任务失败时支持邮件报警,支持配置多邮件地址群发报警邮件; 23. 运行报表:支持实时查看运行数据,以及调度报表,如调度日期分布图,任务组执行比例比例分布图等; 24. 事件触发:除了"Cron方式"和"任务依赖方式"触发任务执行之外,提供触发任务单次执行的API服务; 25. 脚本任务:支持以GLUE分布式平台开发和运行脚本任务,包括Shell、Python、NodeJS等类型脚本; 26. 多线并发:系统支持多线程触发调度运行,确保调度精确执行,不被堵塞; 27. 降级隔离:调度线程池进行隔离拆分,慢任务自动降级进入"Slow"线程池,避免耗尽调度线程,提高系统稳定性; 28. Gradle: 将会把最新稳定版推送到gradle央仓库, 方便用户接入和使用; 29. Maven: 将会把最新稳定版推送到maven央仓库, 方便用户接入和使用; 30. 一致性:基于Redis分布式锁保证集群分布式调度的最终一致性, 一次任务调度只会触发一次执行; 31. 全异步:任务调度流程全异步化设计实现,如异步调度、异步运行、异步回调等,有效对密集调度进行流量削峰,理论上支持任意时长任务的运行; 32. 跨语言:系统提供语言无关的 RESTFUL API 服务,第三方任意语言可据此对接Task Manage; 33. 国际化:后管系统支持国际化设置,提供文、英文两种可选语言,默认为文; 34. 容器化:提供官方docker镜像,并实时更新推送dockerhub,进一步实现产品开箱即用; ## 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值