写点什么

Cron 调度任务入门

用户头像
devpoint
关注
发布于: 2021 年 08 月 26 日
Cron调度任务入门

Cron 是一款类 Unix 的操作系统下的基于时间的任务管理系统,Cron 用于操作系统(CentOS)周期性执行程序或者脚本。例如有一个程序,想要每天凌晨 2 点执行,或者需要每周备份一次文件,类似这些事情可以通过一个由 cron 执行的脚本来完成。

cron 的概念

Cron 是一个守护进程。那么什么是守护进程?daemon 是一个总是在后台运行的程序,用户不能直接访问 daemonCron 每分钟检查 crontabcrontabCron 表的缩写形式)文件,在特定的一分钟内检查某个作业并执行,Crontab 包含一些称为 cron 的程序/命令。


crontab 是一个文本文件,执行以下命令可以查看相关信息:


crontab -e
复制代码



文件可以使用 vim 进行编辑,按照上图的格式新增一行。

能做什么

对于服务器管理人员来说,cron 并不陌生,一般都相当熟悉。下面来看看 cron 可以解决什么问题:


  • 疫情数据,如果需要做一个疫情跟踪,就需要每天定时去抓取,这个时候可以安排 cron 任务来每天定时执行

  • 服务器数据定时备份

  • 日志分析报告,定时分析服务器日志生成报告,通过邮件发送

  • 定时清理服务器临时文件或者日志

  • 定期更新任务

Cron 任务格式

任务格式如下,前五个参数决定了程序的执行时间。



参数格式按顺序如下:


  • 分钟(0~59)

  • 小时(0~23)

  • 天(1~31,但是需要考虑当前月份的天数)

  • 月(1~12)

  • 星期(0-6,0 为星期天)

开始 cron

打开终端,输入 crontab -e 回车,然后在文件底部添加一行:


*/2   *    *    *    *    echo "hello cron" > ~/hello
复制代码


如果需要验证规则,可以通过在线平台验证,如图:



corn 将每隔 2 分钟执行一次,并在主目录中保存一个名为 hello 的文件,文件内容包含 hello cron


在 WEB 编程中,通常程序不会在后台一直运行,如一个 PHP 网页,只有有请求的情况下才会执行,如果定时任务的逻辑在 PHP 页面中,则可以通过定时任务访问 URL 的形式来启动。


*/10 *  *  *  *     curl "https://www.devpoint.cn/index.shtml"
复制代码


上面的任务是每 10 分钟访问一次,以启动 WEB 上的任务逻辑。

总结

cron 还是有很多使用场景,备份、下载、抓取、发送邮件等等,可以做一些周期性的任务。

发布于: 2021 年 08 月 26 日阅读数: 6
用户头像

devpoint

关注

细节的追求者 2011.11.12 加入

专注前端开发,用技术创造价值!

评论

发布
暂无评论
Cron调度任务入门