首页 > 技术文章 > [笔记] linux中的计划任务crontab

logon 2014-11-01 11:06 原文

不能拒绝进步

cron来源于希腊单词chronos(意为“时间”),指linux系统下一个自动执行指定任务的程序(计划任务)。

1——crontab 的命令选项

#crontab -u <-l, -r, -e>

-u指定一个用户

-l列出某个用户的任务计划

-r删除某个用户的任务

-e编辑某个用户的任务

 

2——crontab 的命令语法

使用 crontab –e 命令开始编辑,或者vim /var/spool/cron

格式说明:

# 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 to be executed

image

 

Minute	Hour	Day	Month	Week	command 
分钟	小时	天	月	星期	命令 
0-59	0-23	1-31	1-12	0-6	command

Minute 每个小时的第几分钟执行该任务
Hour 每天的第几个小时执行该任务
Day 每月的第几天执行该任务
Month 每年的第几个月执行该任务
DayOfWeek 每周的第几天执行该任务,0表示周日
Command 指定要执行的程序 、脚本或命令

 

 

3——几个特殊符号的含义

“*”代表取值范围内的数字,
“/”代表”每”,
“-”代表从某个数字到某个数字,
“,”分开几个离散的数字

 

4——注意的点

在默认情况下,如果cron每执行一次指令后,都会向用户的本地信箱中发送邮件,时间长了则产生数量很多的邮件。那么如何禁止掉呢?可能通过下面的方法来实现
■.将执行命令的信息重定向到
cron_command >/dev/null 2>&1
■.将执行命令的信息重定向到
cron_command &>/dev/null

不要忘记将执行脚本文件赋予可执行

■.将执行脚本权限赋予可执行
chmod +x filename

 

5——常见的示例

0 6 * * *                 #每天早上6点
0 */2 * * *              #每两个小时
0 23-6/2,8 * * *       #晚上23点到早上6点之间每两个小时,早上八点
0 11 4 * 1-3             #每个月的4号和每个星期的星期一到星期三的早上11点
30 21 * * *              #每晚的21:30
45 4 1,10,22 * *       #每月1、10、22日的4:45
10 1 * * 6,0             #每周六、周日的1 : 10
0,30 18-23 * * *       #每天18:00至23:00之间每隔30分钟
0 23 * * 6                #每星期六的23:00
* */1 * * *               #每一小时
* 23-7/1 * * *          #晚上11点到早上7点之间,每隔一小时
0 11 4 * mon-wed      #每月的4号与每周一到周三的11点
0 4 1 jan *                #一月一号的4点

 

参考:

http://www.opsers.org/base/crontab-linux-system-tasks-and-examples-of-projects.html

http://lzw.me/a/linux-centos-cron.html

推荐阅读