[笔记] linux中的计划任务crontab
不能拒绝进步
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
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