linux之crontab使用技巧

举报
入门小站 发表于 2022/05/21 22:31:46 2022/05/21
【摘要】 crontab命令主要用于设置命令行或者脚本周期性的执行。该命令从标准输入设备读取指令,并将其存放于文件中,以供之后读取和执行。本文主要讲述crontb命令的基本语法和配置方法。 crontab命令格式crontab [-u user] -e -l -r-u 用户名,不加-u参数默认为当前用户。-e 编辑crontab文件。-l 列出crontab文件中的内容。取值来源为/var/spool...

crontab命令主要用于设置命令行或者脚本周期性的执行。该命令从标准输入设备读取指令,并将其存放于文件中,以供之后读取和执行。本文主要讲述crontb命令的基本语法和配置方法。

crontab命令格式

crontab [-u user] -e -l -r
  • -u 用户名,不加-u参数默认为当前用户。
  • -e 编辑crontab文件。
  • -l 列出crontab文件中的内容。取值来源为/var/spool/cron下对应的文件
  • -r 删除crontab文件。

crontab命令格式

# Example of job definition:
 .---------------- minute (0 - 59)
 |  .------------- hour (0 - 23)
 |  |  .---------- day of month (1 - 31)
 |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
 |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
 |  |  |  |  |
 *  *  *  *  * command/script

一个定时任务的配置共包括6个字段,分别是分、时、日、月、周、命令行或脚本,每一列取值的范围或者含义如上述格式中注释描述。特别注意一点是命令行或者脚本一定要配置成绝对路径。

特殊字段说明

  • 星号(*):代表所有可能的值,例如在第1列表示每分钟执行,第2列表示每小时执行,第3列表示每天执行。

  • 逗号(,):可以用逗号隔开的值表示指定一个列表范围,例如,在第1列设置15,30,45表示在第15分钟、30分钟、45分钟执行。

  • 中杠(-):可以用整数之间的中杠表示一个整数范围,例如"2-6"表示2,3,4,5,6

  • 正斜线(/):可以用正斜线指定时间的间隔频率,例如第2列设置成"*/2",表示每两小时执行一次。

每天晚上10点运行rumenz.sh脚本

0 22 * * * /root/rumenz.sh

每月的1,3,7的早上8.30运行rumenz.sh

> 30 8 1,3,7 * * /root/rumenz.sh

每周六,日的的凌晨2点执行rumenz.sh

> 0 2 * * 6,0 /root/rumenz.txt

每天的的18点到23点每30分执行rumenz.sh

0,30 18-23 * * /root/rumenz.sh

//或者

*/30 18-23 * * /root/rumenz.sh

每天凌晨2点访问一个网址

> 0 2 * * * /usr/bin/curl https://rumenz.com

crontab每10秒执行一次rumenz.sh

* * * * * /root/rumenz.sh
* * * * * sleep 10;/root/rumenz.sh
* * * * * sleep 20;/root/rumenz.sh
* * * * * sleep 30;/root/rumenz.sh
* * * * * sleep 40;/root/rumenz.sh
* * * * * sleep 50;/root/rumenz.sh

每 90 分钟运行一次rumenz.sh

0 0-21/3 * * * /root/rumenz.sh
30 0-22/3 * * * /root/rumenz.sh

需要两个表达式实现

每90秒执行一次rumenz.sh

*/3 * * * * /root/rumenz.sh
*/3 * * * * sleep 90;/root/rumenz.sh

需要两个表达式实现

原文链接:https://rumenz.com/rumenbiji/linux-crontab-skills.html
微信公众号:入门小站

  • 回复【1001】获取 linux常用命令速查手册
  • 回复【10010】获取 阿里云ECS运维Linux系统诊断
  • 回复【10012】获取 Linux学习笔记【强悍总结值得一看】
  • 回复【10013】获取 shell简明教程

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。