随笔 - 6  文章 - 124  评论 - 1  阅读 - 13042

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

常见问题

  • 环境变量的问题

  • 权限问题

posted on   我是唐青枫  阅读(23)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示