欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Linux crontab解析

程序员文章站 2022-05-13 18:53:58
...

  日常的系统运行中,经常需要设置一些周期执行的任务,在LINUX/UNIX中,周期执行的任务一般由cron这个守护进程来处理。

一、crond服务

可以通过 ps-ef | grep cron 查看cron服务进程。

下面是手动操作cron服务的命令:

  service crond start    //启动服务

  service crond stop     //关闭服务

  service crond restart  //重启服务

  service crond reload   //重新载入配置

  service crond status   //查看服务状态 

 

二、系统管理员任务配置文件

/etc/crontab 这个文件负责安排由系统管理员制定的维护系统以及其他任务的crontab。

SHELL=/bin/bashPATH=/sbin:/bin:/usr/sbin:/usr/binMAILTO=rootHOME=/# For details see man 4 crontabs# 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# | | | | |# * * * * * user-name command to be executed

三、用户执行权限

通过cron.allow和cron.deny文件来控制用户权限,

cron.deny 表示不能使用crontab 命令的用户

cron.allow 表示能使用crontab的用户。

如果两个文件同时存在,那么cron.allow 优先。

如果两个文件都不存在,那么只有root用户可以使用crontab命令。

AIX 中普通用户默认都有 crontab 权限,如果要限制用户使用 crontab ,就需要编辑/var/adm/cron/cron.deny 

 

四、crontab命令语法及其各个参数含义

crontab命令的语法为:

crontab [-e [UserName]|-l [UserName]|-r [UserName]|-v [UserName]|File ] 

注意:crontab -u user 是指设定指定 user 的时程表,这个前提是你必须要有其权限(比如说是 root)才能够指定他人的时程表。如果不使用 -u user 的话,就是表示设定自己的时程表。

参数说明:

-e [UserName]: 编辑时程表

-r  [UserName]: 删除用户的时程表

-l  [UserName]: 列出用户的时程表

-v [UserName]: 列出用户cron作业的状态

FILE:调度任务文件名

 

crontab调度命令的格式:

* * * * * command 

Linux crontab解析

crontab命令中的一些常用特殊符号:

符号  说明
* 表示任何时刻
, 表示分割
表示一个段,如第二段里: 1-5,就表示1到5点
/n 表示每个n的单位执行一次,如第二段里,*/1, 就表示每隔1个小时执行一次命令。也可以写成1-23/1.

实例:

30 * * * *  每30分钟执行一次
30 5 * * *  每天的5:30执行
30 5 1 * *  每月1号的5:30执行
30 5 1 10 *  10月1号的5:30执行
30 5 * * 1  每周一的5:30执行
0,10 5 * * 0,2,3 每周日,周二,周三的5:00和5:10 执行
0-10 5 1 * * 毎月1日从5:00到5:10毎隔1分钟执行一次
0 21 * * 1-6   周一到周六 21:00 执行
*/10 * * * *        每隔10分 执行
* 1 * * *         从1:0到1:59 每隔1分钟 执行
0 * * * *         毎时0分 每隔1小时 执行
0 1 * * *         1:00 执行
0 */1 * * *        毎时0分 每隔1小时 执行
2 8-20/3 * * *      8:02,11:02,14:02,17:02,20:02 执行

五、crontab在线生成网站

http://cron.qqe2.com/

相关标签: crontab

上一篇: git命令

下一篇: Git 常用命令总结