当前位置: 首页 > article >正文

Linux crontab 使用教程

简介

crontab 命令用于在类 Unix 操作系统上安排任务在特定时间或间隔运行。这些任务通常称为 cron jobs,由 cron 守护程序 (crond) 管理。

基本语法

# 普通用户
<minute> <hour> <day> <month> <weekday> <command>

# 系统范围的
<minute> <hour> <day> <month> <weekday> <user> <command>
例如:30 2 * * * root /usr/bin/apt update

图解

*    *    *    *    *
-    -    -    -    -
|    |    |    |    |
|    |    |    |    +----- 星期中星期几 (0 - 6) (0是星期天)
|    |    |    +---------- 月份 (1 - 12) 
|    |    +--------------- 一个月中的第几天 (1 - 31)
|    +-------------------- 小时 (0 - 23)
+------------------------- 分钟 (0 - 59)

# 单个 * 表示每分钟/小时/月 ...都要执行,以此类推
# 当 * 为:a-b,表示从第a分钟/小时/月 ... 到第b分钟/小时/月 ... 都要执行,以此类推
# 当 * 为:*/n,表示每n分钟/小时/月 ... 的时间间隔执行一次,以此推类
# 当 * 为a,b,c,... ,表示第a,b,c,... 分钟/小时/月 ... 执行,以此类推

字段解释

  • minute:命令运行的分钟数,取值范围:0-59

  • hour:命令运行的小时数,取值范围:0-23

  • day:命令运行的月份日期,取值范围:1-31

  • month:命令运行的月份,取值范围:1-12或jan-dec

  • weekday:星期几,取值范围:0-7或sun-sat

  • command:要执行的命令

预定义的字符串指令

  • @reboot-,表示启动时运行一次

  • @yearly0 0 1 1 * ,每年运行一次(1月1号0点)

  • @monthly0 0 1 * * ,每月运行一次(1号0点)

  • @weekly0 0 * * 0 ,每周日0点运行一次

  • @daily0 0 * * * ,每天0点运行一次

  • @hourly0 * * * * ,每小时运行一次

常用选项

查看当前的计划任务
crontab -l
编辑当前的计划任务
# 会启动环境变量配置的默认编辑器打开文件,例如:vim或nano
crontab -e
移除当前用户的所有计划任务
crontab -r
设置指定用户的计划任务
# 前提是要有此用户的权限
crontab -u <username>

示例用法

每天凌晨 2:30 运行脚本
30 2 * * * /path/to/script.sh
每个星期五下午5点运行命令
0 17 * * 5 /path/to/command
每10分钟运行一次命令
*/10 * * * * /path/to/command
仅在1月和6月1号0点运行命令
0 0 1 1,6 * /path/to/command
每分钟执行一次命令
* * * * * /bin/ls
在12月内, 每天的早上6点到12点,每隔3个小时执行一次备份任务
0 6-12/3 * 12 * /usr/bin/backup
重定向输出到垃圾桶
0 0 * * * /path/to/script.sh > /dev/null 2>&1
输出记录到日志文件
0 0 * * * /path/to/script.sh >> /var/log/script.log 2>&1
查看 cron 日志

查看以下两个文件

  • /var/log/cron

  • /var/log/syslog

常见问题

  • 环境变量的问题

  • 权限问题


http://www.kler.cn/a/444726.html

相关文章:

  • React:闭包陷阱产生和解决
  • 怿星科技联合赛力斯举办workshop活动,进一步推动双方合作
  • 【计算机网络】期末考试预习复习|中
  • 【进阶编程】MVC和MVVM实现前后端分离的实现
  • Sigrity System Explorer Snip Via Pattern From Layout模式从其它设计中截取过孔模型和仿真分析操作指导
  • Anaconda3 pypi 清华大学TUNA镜像源使用帮助
  • 幂运算转換
  • Java基本概念6-JVM2
  • C语言中的变量自加操作:前自加与后自加的深入解析
  • AtomGit 开源生态应用开发赛报名开始啦
  • 【优选算法---前缀和】和为K的子数组、和可被K整除的子数组、连续数组、矩阵区域和
  • 武汉市电子信息与通信工程职称公示了
  • Guava 库中的 `Multimap` 是一个允许一个键对应多个值的集合 Guava `Multimap` 的基本代码示例:
  • CSSmodule的作用是什么
  • 《 QT 5.14.1 类库模块列表详述》
  • 解决 Amazon S3 管理控制台中 5GB 大小限制的问题
  • 【Rust自学】4.2. 所有权规则、内存与分配
  • 1688商品爬取:商品信息与价格接口获取指南
  • 【设计模式】空接口
  • Web3 时代:技术变革与未来展望
  • Three.js材质纹理扩散过渡
  • 力扣--LCR 53.最大数组和
  • 多模态抽取图片信息的 Prompt
  • finereport新的数据工厂插件使用场景 二 参数混合计算场景
  • HTMLCSS:超丝滑的加载动画效果
  • Linux shell脚本用于常见图片png、jpg、jpeg、tiff格式批量转webp格式后,并添加文本水印