Linux定时任务之crontab

crontab简介

Linux 中的 crontab(cron table 的缩写)是一个用来设置可以被周期性执行的任务的工具。crontab 允许用户设置定时任务,这些任务可以是系统命令、用户自定义的脚本等。每个用户都可以拥有自己的 crontab 文件,存放在 /var/spool/cron/crontabs 目录下,文件名以用户名命名。

crontab语法

crontab 文件的每一行都代表一个任务,其语法遵循以下格式:

在这里插入图片描述
字段可以是星号(*),表示该字段的每个值都有效;也可以是具体的数值,表示仅在该值时才有效;还可以是逗号分隔的列表,表示列表中的每个值都有效;以及连字符表示的范围,例如 10-12 表示小时 10、11、12。

注意:crontab定时任务支持的最小单位是分钟级,即最小周期为每分钟执行一次,如果需要更小的粒度(如秒级),请使用其他方法实现。

自定义定时任务举例

1、每天中午12点执行命令:

0 12 * * * /usr/bin/find / -name "core" -type f -print | xargs /bin/rm -f

这条命令会在每天的 12:00 查找并删除所有的 core 文件。

2、每5分钟执行一次命令:

*/5 * * * * date +'%F %T'

这条命令表示每5分钟执行一次 date +‘%F %T’。

3、在每月的第一天和第十五天的00:00执行命令:

0 0 1,15 * * command

这条命令在每月的 1 号和 15 号的00:00执行 command。(此处的command根据实际需要替换成对应的命令即可)。

4、在周一到周五的上午 8 点到 10 点之间,每半小时执行一次命令:

0,30 8-10 * * 1-5 command

这条命令在每周的周一到周五,从上午 8:00 到 10:00,每隔半小时执行一次 command。

使用 crontab 命令

编辑当前用户的 crontab 文件:

在Linux的终端下输入:
crontab -e
会打开一个类似vim编辑器的界面,按下键盘I键(插入),输入要执行的定时任务即可。
在这里插入图片描述

在这里插入图片描述

编辑完成后,按ESC键退出编辑模式,输入:wq保存退出。
上述定时任务每分钟向/home/date.log中写入当前的时间,需要注意第一次写入时date.log必须存在,否则会写入失败。
查看date.log文件内容如下:
在这里插入图片描述

列出当前用户的 crontab 文件内容:

crontab -l
在这里插入图片描述

删除当前用户的 crontab 文件:

crontab -r
在这里插入图片描述

注意,如果不想永久删除也可以在定时任务前添加#注释掉该任务即可:
在这里插入图片描述
添加注释的定时任务会被忽略。

保存并退出 crontab 编辑器:如果你使用的是 nano编辑器,可以按 Ctrl+O 保存,然后 Ctrl+X 退出;如果是 vim,则 :wq 保存并退出。

注意:编辑 crontab 文件时,请确保命令路径正确,因为 cron 在执行时不会读取用户的 shell 环境变量(如 $PATH)。因此,最好使用命令的绝对路径。

  • 22
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值