【Linux 系列笔记】16 定时任务调度 crontab(你会 Linux 任务定时管理了吗?简单详细地讲给你听)

本文介绍了Linux中的crond服务和crontab命令,用于设置定时任务。通过crontab,用户可以直接用命令或编写脚本来定时执行任务。文章详细讲解了crontab的常用选项,如-e(编辑任务)、-l(查询任务)、-r(删除任务)。还解析了任务配置的基本格式,包括星号的含义,并提供了多个实例,如每天22:30、工作日7:00、每月1号和15号2:00以及每分钟执行任务的设置方法。最后,文章给出了如何通过直接命令或脚本文件创建定时任务的步骤,以及删除定时任务的方法。

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

定时任务调度

基本概念

当你想要让计算机定时的完成某个任务而非人工管理时,你可以使用 Linux 的 crond 服务进行定时任务的设置。crond 是 Linux 系统中用来定期执行命令或者指定程序任务的一种服务或者软件。

有了 crond 服务,你就可以使用 crontab 命令来设置定时任务了。

有两种方法可以设置定时完成任务:

  • 任务简单:
    直接使用 crontab + 命令 定时执行。

  • 任务复杂:
    先编写脚本(Shell),然后用 crontab + 文件 来调用脚本文件定时执行。

crontab :进行定时任务的设置。

crontab [选项]

常用选项:

-e :编辑 crontab 定时任务。(操作环境是 vim 编辑器)
-l :查询 crontab 任务。
-r:删除当前用户所有的 crontab 任务。

如果对 vim 操作环境不熟悉可跳转此贴:vim 编辑器的使用


任务配置基本格式

1)格式:

 *  *  *  *  * command

2)参数说明:

项目含义范围
第一个 ’ * ’一小时中的第几分钟0 ~ 59
第二个 ’ * ’一天中的第几小时0 ~ 23
第三个 ’ * ’一月中的几号1 ~ 31
第四个 ’ * ’一年中的几月1 ~ 12
第五个 ’ * ’一周中的星期几0 ~ 7(0、7都表示周天)

3)特殊符号说明:

特殊符号含义
*代表任何时间(每)
,代表不连续的时间。如 “ 0 8,12,18 * * * ” 表示每天的 8:00、12:00、18:00 执行一次命令
-代表连续的时间。如 “ 5 7 * * 1-5 ” 表示每周一到周五的 7:05 执行一次命令
*/n代表每隔多久执行一次。如 “ */10 * * * * ” 表示每隔 10 分钟执行一次命令

4)一些案例:

  • 在每天 22:30 执行命令

30 22 * * * command

  • 每周一到周五 7:00 执行命令

0 7 * * 1-5 command

  • 每月的 1号和 15号凌晨 2:00 执行命令

0 2 1,15 * * command

  • 每天的凌晨 4:00 每隔 10分钟执行命令

*/10 4 * * * command

一般星期几和几号不要同时出现,容易搞混。

5)小案例:每分钟将当前时间追加到 /tmp 下的 date.txt 文件中

第一种方法

① crontab -e
② i(进入编辑模式)
③ * /1 * * * * date >> /tmp/date.txt (每分钟将当前时间追加到 /tmp 下的 date.txt 文件中)
④ 保存退出,定时任务开始生效。

在这里插入图片描述

第二种方法

① vim task.sh &emsp  (创建脚本文件)
② date >> /tmp/date2.txt (编写脚本文件)
③ 退出保存
④ chmod 744 task.sh  (给 task.sh 文件可执行权限)
⑤ crontab -e
⑥ * /1 * * * * /home/task.sh (定时调用脚本)
⑦ 退出保存,脚本开始定时执行。

在这里插入图片描述
6)删除定时任务

  • 删除所有:crontab -r
  • 删除部分:crontab -e,删掉任务所在行即可。(一般模式下 dd 即可)


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值