linuxcrontab定时任务每月,linux中crontab定时任务
1.1 /etc/Crontab文件
/etc目录中有一个crontab文件,其中存储了系统运行的一些调度程序。每个用户都可以设置自己的调度crontab(在/var/spool/cron目录下)。
以下是我电脑上的crontab文件,
[root @ localhost etc]# cat/etc/crontab
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/
#运行零件
01 * * * *根运行-零件/etc/cron.hourly
02 4 * * * root run-parts/etc/cron . daily
22 4 * * 0根运行零件/etc/cron .每周
42 4 1 * *根运行-零件/etc/cron .每月
二、Crontab指令
2.1 crontab的基本语法
用法:crontab [-u用户]文件
crontab [-u用户] [ -e -l -r ]
(根据1003.2,默认操作是替换)
-e(编辑用户的crontab)
-l(列出用户的crontab)
-r(删除用户的crontab)
-i(删除用户的crontab前提示)
-s (selinux上下文)
其中file是命令文件的名称。如果在命令行中指定了该文件,则执行crontab命令将该文件复制到crontab目录。如果这个文件不是在命令行中创建的,crontab命令将接受在标准输入(键盘)上键入的命令,并将它们存储在crontab目录中。
如果想查看Crontab更详细的语法和用法帮助,可以通过man crontab查看帮助。
2.2 Crontab格式描述
我们可以使用crontab -e来添加要执行的命令。
添加的命令必须采用以下格式:
* * * */要执行的命令的路径
前五个字段可以取整数值来指定何时开始工作,第六个字段是一个字符串,也就是一个命令字段,其中包含crontab调度执行的命令。这些字段由空格和制表符分隔。
前五个字段代表:
分钟:0-59
时间:1-23小时
日期:1至31日
月份:1-12
周:0-6(0表示星期日)
您也可以使用一些特殊符号:
*:表示任何时间。
,表示除法。
-:表示一段,如:第二端1-5,表示1到5分。
/n:表示n的每个单元执行一次。例如,在第二段中,*/1表示命令每1小时执行一次。也可以写成1-23/1。
一些例子:
00 8,12,16 * * * /test/command.sh
30 2 * * * /test/command.sh
10 8,12,16 * * * /test/command.sh
10 8,12,16 * * * /test/command.sh
10 8,12,16 * * * /test/command.sh
3 21 * * * 21: 43执行
5 05 * * * 05: 15执行
0 17 * * * 17:00
0 17 * * 1每周一17:00。
0,10 17 * * 0,2,3每周日,周二,周三17:00,17:10。
0-10,17,1 * * 1月1日17:00-17:10每1分钟执行一次。
0 1,15 * 1,1月1日、15日、周一0点执行。
2 4 4 1 * *将于1月1日4:42执行。
0 21 * * 1-6周一至周六21:00。
每10分钟0,10,20,30,40,50 * * *次。
*/10 * * *每10分钟一次。
* 1 * * *从1:0到1:59,每1分钟执行一次
1 * * * 1: 00
0 */1 * * *每1小时0: 00。
每1小时0 * * * * 0: 00。
2-20/3 * * *在8: 02、11: 02、14: 02、17: 02和20: 02执行
0 35 1,15 * * 1,15五点半。