crontab 表达式
# 功能
Linux crontab 是 Linux 系统中用于设置周期性被执行的指令的命令。当安装完成操作系统之后,默认便会启动此任务调度命令
crond 命令每分钟会定期检查是否有要执行的工作,如果有要执行的工作便会自动执行该工作
注意:新创建的 cron 任务,不会马上执行,至少要过 2 分钟后才可以,当然你可以重启 cron 来马上执行
Linux 任务调度的工作主要分为以下两类:
1、系统执行的工作:系统周期性所要执行的工作,如备份系统数据、清理缓存 2、个人执行的工作:某个用户定期要做的工作,例如每隔 10 分钟检查邮件服务器是否有新信,这些工作可由每个用户自行设置
如果有需要生成 crontab 的需求,可以使用下面的工具实现
链接: Cron 表达式在线工具 (opens new window)
# 格式
时间格式如下:
f1 f2 f3 f4 f5 program
1
其中 f1 是表示分钟,f2 表示小时,f3 表示一个月份中的第几日,f4 表示月份,f5 表示一个星期中的第几天。program 表示要执行的程序
当 f1 为 * 时表示每分钟都要执行 program,f2 为 * 时表示每小时都要执行程序,其馀类推 当 f1 为 a-b 时表示从第 a 分钟到第 b 分钟这段时间内要执行,f2 为 a-b 时表示从第 a 到第 b 小时都要执行,其馀类推 当 f1 为 */n 时表示每 n 分钟个时间间隔执行一次,f2 为 */n 表示每 n 小时个时间间隔执行一次,其馀类推 当 f1 为 a, b, c,... 时表示第 a, b, c,... 分钟要执行,f2 为 a, b, c,... 时表示第 a, b, c...个小时要执行,其馀类推
* * * * *
- - - - -
| | | | |
| | | | +----- 星期中星期几 (0 - 6) (星期天 为0)
| | | +---------- 月份 (1 - 12)
| | +--------------- 一个月中的第几天 (1 - 31)
| +-------------------- 小时 (0 - 23)
+------------------------- 分钟 (0 - 59)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
下面是几个具体例子:
0 */2 * * * /sbin/service httpd restart 意思是每两个小时重启一次apache(/ 的使用)
50 7 * * * /sbin/service sshd start 意思是每天7:50开启ssh服务
50 22 * * * /sbin/service sshd stop 意思是每天22:50关闭ssh服务
0 0 1,15 * * fsck /home 每月1号和15号检查/home 磁盘(,的使用)
0 0 1-15 * * fsck /home 每月1号到15号都检查/home 磁盘(-的使用)
1 * * * * /home/bruce/backup 每小时的第一分执行 /home/bruce/backup这个文件
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
最后更新: 1/17/2026, 2:51:21 AM