cron来源于希腊单词chronos(意为“时间”),指Linux系统下一个自动执行指定任务的程序(计划任务)

####1. crontab命令选项
代码如下:

#crontab -u <-l, -r, -e>

-u指定一个用户

-l列出某个用户的任务计划

-r删除某个用户的任务

-e编辑某个用户的任务

####2. cron文件语法与写法
可用crontab -e命令来编辑,编辑的是/var/spool/cron下对应用户的cron文件,也可以直接修改/etc/crontab文件。具体格式如下:

代码如下:

Minute Hour Day Month Week command

分钟 小时 天 月 星期 命令

0-59 0-23 1-31 1-12 0-6 command

每个字段代表的含义如下:

代码如下:

Minute 每个小时的第几分钟执行该任务

Hour 每天的第几个小时执行该任务

Day 每月的第几天执行该任务

Month 每年的第几个月执行该任务

DayOfWeek 每周的第几天执行该任务,0表示周日

Command 指定要执行的程序 、脚本或命令

在这些字段里,除了“Command”是必须指定的字段以外,其它字段皆为可选。对于不指定的字段,要用“*”来填补其位置。

####3. 几个特殊符号的含义

“*”代表取值范围内的数字,
“/”代表”每”,
“-”代表从某个数字到某个数字,
“,”分开几个离散的数字

####4. 关于cron配置文件/etc/crontab

cron 的主配置文件是 /etc/crontab,它包括下面几行:

代码如下:

SHELL=/bin/bash

PATH=/sbin:/bin:/usr/sbin:/usr/bin

MAILTO=root

HOME=/

# run-parts

01 * * * * root run-parts /etc/cron.hourly

02 4 * * * root run-parts /etc/cron.daily

22 4 * * 0 root run-parts /etc/cron.weekly

42 4 1 * * root run-parts /etc/cron.monthly

前四行是用来配置 cron 任务运行环境的变量:
SHELL 变量的值指定shell 环境(此处默认为 bash shell);PATH 变量定义用来执行命令的程序路径;cron 任务的输出被邮寄给 MAILTO 变量定义的用户名,如果 MAILTO 变量被定义为空白字符串(MAILTO=""),电子邮件就不会被寄出;HOME 变量可以用来设置在执行命令或脚本时使用的主目录。

如在 /etc/crontab 文件中run-parts部分所示,它使用 run-parts 脚本来执行存在于 /etc/cron.hourly、/etc/cron.daily、/etc/cron.weekly 和 /etc/cron.monthly 目录中的脚本,这些脚本被相应地按照预设时间在每小时、每日、每周、或每月执行。这些目录中的文件应该是 shell 脚本,并且具有可执行权限(chmod +x filename)。

如果某 cron 任务需要根据调度来执行,而不是每小时、每日、每周、或每月地执行,它可以被添加到/etc/cron.d目录中。该目录中的所有文件使用和 /etc/crontab 中一样的语法。

每次编辑完某个用户的cron设置后,cron自动在/var/spool/cron下生成一个与此用户同名的文件,此用户的cron信息都记录在这个文件中,这个文件是不可以直接编辑的,只可以用crontab -e 来编辑。cron启动后每过一份钟读一次这个文件,检查是否要执行里面的命令。因此此文件修改后不需要重新启动cron服务。

####5. 常见cron示例参考

5  * * * * ls 指定每小时的第5分钟执行一次ls命令

30 5 * * * ls 指定每天的 5:30 执行ls命令

30 7 8 * * ls 指定每月8号的7:30分执行ls命令

30 5 8 6 * ls 指定每年的6月8日5:30执行ls命令

30 6 * * 0 ls 指定每星期日的6:30执行ls命令[注:0表示星期天,1表示星期1,以此类推,也可以用英文来表示,sun表示星期天,mon表示星期一等。]

30 3 10,20 * * ls 每月10号及20号的3:30执行ls命令[注:“,”用来连接多个不连续的时段]

25 8-11 * * * ls 每天8-11点的第25分钟执行ls命令[注:“-”用来连接连续的时段]

*/15 * * * * ls 每15分钟执行一次ls命令 [即每个小时的第0 15 30 45 60分钟执行ls命令 ]

30 6 */10 * * ls 每个月中,每隔10天6:30执行一次ls命令[即每月的1、11、21、31日是的6:30执行一次ls命令 ]

例如:1.每天7:50以root 身份执行/etc/cron.daily目录中的所有可执行文件

50 7 * *  * root run-parts  /etc/cron.daily [ 注:run-parts参数表示,执行后面目录中的所有可执行文件

2.第10、20、30分钟输出到/tmp/cron1.txt:

10,20,30 * * * * echo "第10、20、30分钟输出一次" >> /tmp/cron1.txt

3.以用户lzw.me的身份每两小时就运行某个程序:

0 */2 * * * lzw.me /usr/bin/somecommand >> /dev/null 2>&1

####6. 特别提示
A、cron配置文件路径

#vi /etc/crontab

B、重启cron的方法

#/etc/rc.d/init.d/crond restart

Usage: /etc/rc.d/init.d/crond {start|stop|status|reload|restart|condrestart}

C、别忘了将脚本改成可执行

chmod +x filename

转载于:https://www.cnblogs.com/liuxiaoqing/p/9266411.html

Linux中的cron计划任务配置详解相关推荐

  1. linux ipset 流量,linux中ipset命令的使用方法详解

    linux中ipset命令的使用方法详解 发布时间:2020-10-25 17:07:19 来源:脚本之家 阅读:97 作者:lijiaocn 栏目:服务器 ipset介绍 iptables是在lin ...

  2. linux文件目录:Linux中各目录(文件夹)作用详解(持续更新)

    进入Linux系统,我们就是畅游在各种目录文件中,毕竟Linux是"文件系统",文件的存放就是在目录下面,那我们了解下"Linux中各目录(文件夹)作用详解"还 ...

  3. django配置环境linux,linux环境下Django的安装配置详解

    linux环境下Django的安装配置详解 1. 下载安装Django pip install Django==1.6.5 测试是否安装成功 >>> import django> ...

  4. Linux中history历史命令使用方法详解

    在/etc/profile里添加如下:#History export HISTTIMEFORMAT="[%F %T]" HISTDIR=/home/common/.hist if ...

  5. Linux中sort,uniq,cut,wc命令详解

    Linux中sort,uniq,cut,wc命令详解 来源:hellodev 本文主要对Linux中sort,uniq,cut,wc这4个命令的使用方法进行了详细说明,希望对你有所帮助. sort s ...

  6. Linux 中使用 sort 指令分组排序详解

    Linux 中使用 sort 指令分组排序详解 sort 中进行分组排序主要用到的选项为 -k,此文,我们着重于该选项的使用方式,用到的其它选项不做解释,有兴趣的同学可以查看帮助文档 1. 数据准备 ...

  7. Linux中ls -l命令展示信息详解

    Linux中ls -l命令展示信息详解 在Linux系统中,ls -l命令是用以列表的形式来查看当前目录下的文件或目录,下面就让我们一起来看看展示的信息是什么意思吧 以CentsOS7为例子 [roo ...

  8. 【Linux】Linux中rz和sz命令用法详解

    [Linux]Linux中rz和sz命令用法详解 1. 简单介绍 rz,sz是Linux/Unix同Windows进行ZModem文件传输的命令行工具.优点就是不用再开一个sftp工具登录上去上传下载 ...

  9. linux 清空进程recv q,Linux中ss命令Recv-Q和Send-Q详解

    ss 用来显示处于活动状态的套接字信息.ss命令可以用来获取socket统计信息,它可以显示和netstat类似的内容.但ss的优势在于它能够显示更多更详细的有关TCP和连接状态的信息,而且比nets ...

最新文章

  1. 状态栏消息提示——使用Notification
  2. 计算2个时间之间经过多少Ticks
  3. 新闻发布项目——接口类(BaseDao)
  4. 99乘法表(java版)
  5. Linux 命令(11)—— col 命令
  6. 学python需要什么基础-要学 Python 需要怎样的基础?
  7. 深度学习优化器演化史
  8. 22. Django进阶:文件上传
  9. §4.1.2数学归纳法证明不等式第6题 (复旦大学2004年保送生考试数学试题)
  10. 老板下死命令:必须将20M文件从30秒压缩到1秒,我是如何做到的?
  11. iphone NSString 字符串处理:截取字符串、匹配字符串、分隔字符串
  12. 星岚技术 Win7 x64 无精简完整版 V2020.11
  13. 决定成功十种积极心态,成功有道理
  14. noip2015day1
  15. fatal error LNK1120: 1个无法解析的外部命令
  16. 众达说两化融合A042A=程序文件之信息资源需要包含那些内容
  17. Filter过滤器及其作用介绍
  18. 从控制台随机输入一段字符,算出有多少字母,数字,其他的
  19. 【2020/02/11】每日早报
  20. jquery load回调封装_Jquery Lazyload回调

热门文章

  1. python中 是什么运算符_Python 运算符
  2. 自动取款机如何使用无卡取款_云南铝管自动抛光机如何使用_利琦抛光机械
  3. 扑克牌图片一张一张_培养孩子的数学力,不妨试试这五个扑克牌游戏
  4. 岗位理解_当面试官问求职者对应聘岗位的理解情况
  5. tensorflow2安装时候的一个dll找不到的错误
  6. HMM前向算法,维比特算法,后向算法,前向后向算法代码
  7. VMware VIC
  8. C#利用WebClient 两种方式下载文件(一)
  9. 小波分析实验: 实验1 连续小波变换
  10. D3Vueecharts个人乱记