Linux 定时任务

Crontab 定时任务

用来提交和管理用户的需要周期性执行的任务

定时任务cron表达式

crontab 我们可以在固定的间隔时间执行指定的系统指令或 shell script脚本

编辑定时任务使用crontab -e ,相当于vi /var/spool/cron/root,但它可以检查语法

查看定时任务使用crontab –l,相当于cat /var/spool/cron/root(root对应用户名,不同的用户可以不同的定时任务)

用户自定义的定时任务的格式:分 时 日 月 周 cmd,中间用空格分隔

周和日尽量不要同时用cron表达式符号释义

符号

释义

举例

*

表示任意时间都,实际就是“每”的意思

小时上的*等价于00-23

分钟上的*等价于0-59

-

表示时间范围,区间段

17-19点,即17点到19点,相当于171819

表示分隔时间段的意思

30 17,18,19 * * *表示每天17181930分钟

/n

表示每隔n单位时间执行一次任务

*/10 * * * * 表示每10分钟执行一次

 

 

 

 使用者权限文件

文件

说明

/etc/cron.deny

该文件中所列用户不允许使用crontab命令

/etc/cron.allow

该文件中所列用户允许使用crontab命令

/var/spool/cron/

所有用户crontab文件存放的目录,以用户名命名

 指令选项说明含义表

参数名称

 含义

 指定示例

-l(是字母)

显示用户crontab文件内容l list缩写

crontab l

-e

进入vi编辑用户crontab文件,eedit缩写

crontab -e

-i

删除用户crontab文件前确认提示

crontab -ri

-r

crontab目录中删除用户crontab文件

crontab -r

-u user

指定使用者

crontab -u 15b883 -l

 查看crond是否开启

[root@15b883 ~]# chkconfig --list crond
crond           0:off   1:off   2:on    3:on    4:on    5:on    6:off
[root@15b883 ~]# /etc/init.d/sshd 
Usage: /etc/init.d/sshd {start|stop|restart|reload|force-reload|condrestart|try-restart|status}
[root@15b883 ~]# /etc/init.d/sshd status
openssh-daemon (pid  1112) is running...

提示:

1、我们所说的crond服务是运行的程序,而crontab命令用户来设置定时规则的命令。

2、crond服务是企业生产工作中常用的重要服务,at和anacron很少使用,可以忽略

3、几乎每个服务器都会用到crond服务

4、上千服务器可以开发分布式定时任务项目方案

 cron时间表达式实例

30 3,12 * * * /bin/sh /scripts/15b883.sh
每天3点30分和12点30分执行

30 */6 * * * /bin/sh /scripts/15b883.sh
每隔6小时的半点执行,相当于6,121824(?)
*/n==0/n

30 8-18/2 * * * /bin/sh /scripts/15b883.sh
早晨8点到下午18点之间每隔2小时的半点执行,相当于8,10121416,18时的半点

30 21 * * * /application/apache/bin/apachectl graceful
每晚21点半重启apache服务

45 4 1,10,22 * * /application/apache/bin/apachectl graceful
每月1号,10号,22号的凌晨4点45重启apache

10 1 * * 6,0 /application/apache/bin/apachetcl graceful
每周末的凌晨1点10分重启apache

0,30 18-23 * * */application/apache/bin/apachectl graceful
每天的18点至23点,每隔30分钟重启apache

00 */1 * * */application/apache/bin/apachectl graceful
每隔一小时整点重启apache
原文地址:https://www.cnblogs.com/syavingcs/p/8618065.html