Linux自带定时任务-crontab

Linux crontab 是系统自带的定时任务工具,用于定期执行程序。crond 每分钟检查待执行任务,新建任务至少2分钟后执行。通过`crontab -e`编辑定时任务,例如:`0 2 * * * java -jar /springboot-calculate.jar > /logs/calculate.log &`。任务格式包含[分] [小时] [日期] [月] [星期],支持通配符如*和范围选择。crontab的优点在于方便修改和管理定时规则,但缺点是需要Linux环境,任务多时不易查找。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

原理

案例

优缺点


原理

  • Linux crontab是用来定期执行程序的命令。当安装完成操作系统之后,默认便会启动此任务调度命令。
  • crond 命令每分锺会定期检查是否有要执行的工作,如果有要执行的工作便会自动执行该工作。
  • 新创建的 cron 任务,不会马上执行,至少要过 2 分钟后才可以,可以重启 cron 来马上执行。

案例

  • 运行 crontab -e ,可以编辑定时器,然后加入如下命令:
  • 0 2 * * * java -jar /springboot-calculate.jar > /logs/calculate.log &
  • crontab命令的基本格式如下:

crontab [参数] [文件名]

如果没有指定文件名,则接收键盘上输入的命令,并将它载入到 crontab 。

参数功能对照表如下:

参数

功能

-u

指定用户

-e

编辑某个用户的crontab文件内容

-l

显示某个用户的crontab文件内容

-r

删除某用户的crontab文件

-i

删除某用户的crontab文件时需确认

以上参数,如果没有使用 -u 指定用户,则默认使用的当前用户。

通过 crontab -e 命令编辑文件内容,具体语法如下:

[分] [小时] [日期] [月] [星期] 具体任务

其中:

  • 分,表示多少分钟,范围:0-59
  • 小时,表示多少小时,范围:0-23
  • 日期,表示具体在哪一天,范围:1-31
  • 月,表示多少月,范围:1-12
  • 星期,表示多少周,范围:0-7,0和7都代表星期日

还有一些特殊字符,比如:

  • * 代表任何时间,比如: *1*** 表示每天凌晨1点执行。
  • / 代表每隔多久执行一次,比如: */5 **** 表示每隔5分钟执行一次。
  • , 代表支持多个,比如: 10 7,9,12 *** 表示在每天的7、9、12点10分各执行一次。
  • - 代表支持一个范围,比如: 10 7-9 *** 表示在每天的7、8、9点10分各执行一次。

优缺点

  • 优点:方便修改定时规则,支持一些较复杂的定时规则,通过文件可以统一管理配好的各种定时脚本。
  • 缺点:如果定时任务非常多,不太好找,而且必须要求操作系统是 linux ,否则无法执行。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

码海拾贝2023

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值