Linux定时任务

一、介绍

linux自带定时任务crontab

二、命令

编辑定时器
crontab -e

30 23 * * * /path/beifen.sh >> /tmp/1.log
表示每晚的23:30执行/path/beifen.sh脚本,
并且把项目启动日志重定向输出到/tmp/1.log文件,也可以不加日志去掉>>及后面的路径。

时间表达
[分] [小时] [日期] [月] [星期] 具体任务
其中:

分,表示多少分钟,范围:0-59

小时,表示多少小时,范围:0-23

日期,表示具体在哪一天,范围:1-31

月,表示多少月,范围:1-12

星期,表示多少周,范围:0-7,0和7都代表星期日

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

例如: * 8 * * * 表示每天 8 点的每一分钟都执行一次命令
例如:10 8,10,12 * * *表示在每天的 8:10,10:10,12:10 都会执行一次命令
例如:10 8 * * 1-3 表示每周一到周三的 8:10 执行一次命令
例如:* /10 * * * *表示每隔 10 分钟就执行一次命令

在这里插入图片描述
总结:

周和日最好不要同时用
定时任务要加注解
可以定向到日志文件或者空文件
定时任务一定是绝对路径,且目录必须存在才能出结果
crontab 服务一定要开启运行

三、检查服务

service crond status // 查看运行状态
service crond start //启动服务
service crond stop //关闭服务
service crond restart //重启服务
service crond reload //重新载入配置

四、windows任务计划

linux不支持秒
windows调度任务包含秒

Cron表达式的格式在不同的实现中确实存在差异,主要体现在是否支持秒这一字段上。传统的Unix/Linux系统中的crontab工具不支持秒这一字段,因此cron表达式通常包含六个字段。而在一些现代的调度框架或工具中,如Spring Boot中的@Scheduled注解、某些版本的Windows任务计划程序或其他第三方库(如Java中的CronSequenceGenerator或Python的APScheduler),可能会支持包含秒在内的七个字段的cron表达式。

包含秒的cron表达式(七个字段)
1秒 (Seconds) - 范围为0-59。
2分钟 (Minutes) - 范围为0-59。
3小时 (Hours) - 范围为0-23。
4日期 (Day of month) - 范围为1-31。
5月份 (Month) - 范围为1-12。
6周几 (Day of week) - 范围为0-6或1-7(0和7都是周日)。
7年份 (Year) - 可选字段,范围因实现而异。

示例
对于不包含秒的传统cron表达式:(linux)

*/3 * * * * 表示每3分钟执行一次。
对于包含秒的现代cron表达式:(Windows·)

0 */3 * * * * 表示每3分钟的第0秒执行一次。
总结
传统上,cron表达式主要用于Unix/Linux系统中的定时任务调度,不包含秒字段。然而,在其他环境或工具中,为了提供更精细的控制,可能扩展了cron表达式的格式以包含秒字段。因此,在处理定时任务时,需要根据使用的具体工具或平台来确定cron表达式的格式。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

江河没有风、

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

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

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

打赏作者

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

抵扣说明:

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

余额充值