Linux下的任务调度分为两类,系统任务调度和用户任务调度html
系统任务调度:系统须要按期执行的任务,好比重启、日志清理等,其配置文件是:/etc/crontabweb
用户任务调度:某个用户须要按期执行的任务。用户可使用 crontab 命令来配置本身的定时任务。全部用户配置的定时任务都存放在 /var/spool/cron/ 目录下,其文件名与用户名一致。如:root用户的全部定时任务就保存在 /var/spool/cron/root 文件中vim
全部用户crontab文件都存放在 /var/spool/cron/ 目录下,以用户名命名。其中每一行都表明一项任务,每行的每一个字段表明一项配置,它的格式一共分为六个字段,前五段是时间设置段,第六段是要执行的命令段,格式以下:bash
minute hour day month week command服务器
minute: 表示分钟,能够是从0到59之间的任何整数ide
hour:表示小时,能够是从0到23之间的任何整数网站
day:表示日期,能够是从1到31之间的任何整数spa
month:表示月份,能够是从1到12之间的任何整数rest
week:表示星期,能够是从0到7之间的任何整数,这里的0或7表明星期日日志
command:表示须要执行的命令,能够是系统命令,也能够是本身编写的脚本文件
在以上各个字段中,还可使用如下特殊字符:
* 表明全部可能的值,例如:若是month字段是星号,则表示在知足其它字段的约束条件后每个月都执行该命令
, 用逗号隔开的值表示一个范围列表,例如:若是minute字段的值是“1,3,15”,则表示每小时的第1分钟、第3分钟和第15分钟都执行该命令
– 能够用整数之间的 – 表示一个整数范围,例如:若是day字段的值是“2-6”,则表示每个月的第2天到底6天都执行该命令
/ 能够用斜线表示命令的执行频率,例如:若是minute字段的值是“*/10”,则表示每十分钟执行一次命令
某台服务器每10分钟向192.168.1.2进行时间同步:
[root@web01 cron]# vim /var/spool/cron/root
添加如下内容:
0-59/10 * * * * /usr/sbin/ntpdate -s 192.168.1.2
从上面的介绍能够知道,这句代码的意思是:从0到59分这个时间段每10分钟都执行时间同步命令,其时间同步服务器是192.168.1.2
实例1:每1分钟执行一次command
命令:
* * * * * command
实例2:每小时的第3和第15分钟执行
命令:
3,15 * * * * command
实例3:在上午8点到11点的第3和第15分钟执行
命令:
3,15 8-11 * * * command
实例4:每两天的上午8点到11点的第3和第15分钟执行
命令:
3,15 8-11 */2 * * command
实例5:每一个星期一的上午8点到11点的第3和第15分钟执行
命令:
3,15 8-11 * * 1 command
实例6:每晚的21:30重启smb
命令:
30 21 * * * /etc/init.d/smb restart
实例7:每个月一、十、22日的4 : 45重启smb
命令:
45 4 1,10,22 * * /etc/init.d/smb restart
实例8:每周6、周日的1 : 10重启smb
命令:
10 1 * * 6,0 /etc/init.d/smb restart
实例9:天天18 : 00至23 : 00之间每隔30分钟重启smb
命令:
0,30 18-23 * * * /etc/init.d/smb restart
实例10:每星期六的晚上11 : 00 pm重启smb
命令:
0 23 * * 6 /etc/init.d/smb restart
参考文章:
PS:上面图片中的域名是我我的博客的域名,并非其余网站转载的,还请管理员不要给我标为“转载文章”