1 cron定时任务

1.1 cron介绍

  为什么需要cron定时任务?

  1)cron服务在安装完Linux系统后就默认就存在,主要用来定期执行命令或定期执行指定的应用程序;

  2)cron服务默认情况下每分钟会检查系统中是否有需要执行的定时任务,如果有,就会根据事先执行好的规则来执行这个任务;

  3)cron的守护进程服务:crond服务.注意的是,cron不擅长秒级的任务,如果要用秒级的任务,最好使用while语句的shell脚本.

[root@localhost ~]# crontab --help	#<==cron的语法及主要的参数如下
Usage:
crontab [options] file
crontab [options]
crontab -n [hostname]
Options:
-u <user> define user          #<==指定用户,不指定默认就是当前用户
-e edit user's crontab #<==编辑用户自己的定时任务文件
-l list user's crontab #<==列出用户自己的定义的定时任务
-r delete user's crontab #<==删除清空用户的定时任务计划(很少使用)
[root@localhost ~]# systemctl status crond.service #<==centos7查看定时任务对应的服务是否开启
[root@test ~]# /etc/init.d/crond status #<==centos6
crond (pid 1052) is running...
#注意的是,在命令行执行 crontab {l|e} 实质上就是在操作 /var/spool/cron/$USER 下对应用户自定义的定时任务配置文件
[root@localhost ~]# ll /var/spool/cron/$USER
-rw------- 1 root root 9 12月 9 21:38 /var/spool/cron/root
[root@localhost ~]# ll /var/spool/cron/
总用量 8
-rw------- 1 root root 9 12月 9 21:38 root
-rw------- 1 root root 9 12月 9 21:45 test

1.2 cron定时任务书写格式及各项含义

  定时任务记忆方法示意图(简要记忆方法就是"分时日月周"):

  定时任务中各个*号代表的含义(从左往右):  

自左往右的星号 含义 取值范围
第1个星号 * 分钟 00-59 , 0可以用单个0代替
第2个星号 * 小时 00-23
第3个星号 * 日/天 01-31
第4个星号 * 月份 01-12
第5个星号 * 星期几 0-7 ,0和7都是代表星期天

  cron语法格式中用到的特殊符号的含义:

特殊符号 含义
   *

*代表任意时间,即每个时间位上的"每"的意思,如:

00 12 * * * cmd 的意思是每天的12点整都执行cmd任务

   -

减号-代表分隔符,用来表示一个时间范围和区间段,如:

00 12-13 * * * cmd 代表每天的12,13的整点之间都执行cmd

   ,

逗号,代表分隔时间段,用来写不连续的时间段,如:

00 1,13,23 * * * cmd 代表每天的1,13,23点整都执行cmd

注意,逗号,和减号-可以混用,如:

00 1-3, 22-23 * * * cmd 代表1,2,3,22,23的5个整点都执行cmd

   /n

n代表的是数字,即"每隔n个单位时间"的意思,如:

*/30 * * * * cmd 代表每隔30分钟都执行cmd

注意/n参数的位置,代表不同的分时日月周的每n个单位时间

1.3 定义任务cron小结

  书写定时任务时,注意以下几个方面:

  1)要为定时任务添加必要的注释,和写脚本或者代码都是一样.

  2)shell脚本和sh程序,须写全路径,如/bin/sh /server/scripts/a.sh .如果sh程序不写全路径,则须给脚本加 x 期限.

  3)定时任务后面须加 &>/dev/null ,防止邮件目录小文件过多.

  4)如果定时任务脚本是Tomcat环境下的,须在脚本中加入Tomcat的环境变量.

linux下的cron定时任务知识梳理的更多相关文章

  1. Linux下Apache(HTTP)基础知识梳理-运维笔记

    HTTP介绍: HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传 ...

  2. 使用linux下的crontab定时任务跑定时脚本

    使用linux下的crontab定时任务跑定时脚本 tags:定时任务 定时脚本 crontab linux定时脚本 linux 引言:应该有许多人曾经很好奇一些定时脚本是怎么做出来的.我们这次就来说 ...

  3. ***linux下用cron定时执行任务的方法

    名称 : crontab  使用权限 : 所有使用者 使用方式 : crontab file [-u user]-用指定的文件替代目前的crontab. crontab-[-u user]-用标准输入 ...

  4. linux 下的 crontab 定时任务工具

    以下内容转自:https://www.cnblogs.com/longjshz/p/5779215.html 在LINUX中,周期执行的任务一般由cron这个守护进程来处理[ps -ef|grep c ...

  5. Linux下socket编程基本知识

    本文档主要讲解了Linux下socket编程的一些基本知识,主要包括套接字和字节序的概念,以及一些常用的结构体和函数. 本文是在网易云课堂学习过程中的记录,这个老师讲得很不错,推荐大家围观. Linu ...

  6. Linux下环境变量配置方法梳理(.bash_profile和.bashrc的区别)

    在linux系统下,如果下载并安装了应用程序,在启动时很有可能在键入它的名称时出现"command not found"的提示内容.如果每次都到安装目标文件夹内,找到可执行文件来进 ...

  7. Linux下使用cron让Python程序持久化运行

    正常情况下,一个python程序如果希望实现一直运行,不出错不奔溃是很难的,即使编译为可持续文件也是一样 幸运的是很多需求并不是需要24小时不间断运行,而是每隔一段时间运行一次即可 Linux系统自带 ...

  8. Linux下monit进程管理操作梳理

    Monit对运维人员来说可谓神器,它是一款功能非常丰富的进程.文件.目录和设备的监测工具,用于Unix平台.它可以自动修复那些已经停止运作的程序,特使适合处理那些由于多种原因导致的软件错误.Monit ...

  9. Linux下的Mongodb部署应用梳理

    一.Mongodb简介  官网地址:http://www.mongodb.org/ MongoDB是一个高性能,开源,无模式的文档型数据库,是当前NoSql数据库中比较热门的一种.MongoDB 是一 ...

随机推荐

  1. NPOI导出Excel生成多个sheet

    using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.We ...

  2. 对网站和项目使用IIS Express的64位版

  3. AI漫谈:我们距离实现《庆余年》里的五竹叔机器人还有多远?

    ​(警告: 本文包含少量剧透内容,请酌情阅读)   五竹叔是机器人吗? 看过庆余年的朋友,一定对五竹叔印象深刻,外表英俊潇洒,一袭黑衣加黑布条蒙眼,充满神秘侠客气息.五竹叔不但神秘,而且言行举止常常很 ...

  4. background-position和position

    1.background-position:表示背景定位的属性.描述属性值时,有两种方式:一是像素描述:而是单位描述. (1)像素描述: 格式如下: background-position:向右偏移量 ...

  5. [bzoj4568] [loj#2013] [Scoi2016] 幸运数字

    Description \(A\) 国共有 \(n\) 座城市,这些城市由 \(n-1\) 条道路相连,使得任意两座城市可以互达,且路径唯一.每座城市都有一个幸运数字,以纪念碑的形式矗立在这座城市的正 ...

  6. QTP测试web时:打开ie浏览器进行录制但qtp录制脚本为空

    1. 关闭ie的保护模式:设置——internet选项——安全——取消勾选“启用保护模式” 这一步很关键,之前试过很多步骤,只有这个成功了. 修改后如果可行即可.如果不行再进行下面操作: 2.关闭杀毒 ...

  7. C++封装的基于WinSock2的TCP服务端、客户端

    无聊研究Winsock套接字编程,用原生的C语言接口写出来的代码看着难受,于是自己简单用C++封装一下,把思路过程理清,方便自己后续翻看和新手学习. 只写好了TCP通信服务端,有空把客户端流程也封装一 ...

  8. C语言 获取系统时间与睡眠时间函数

    摘要: 以ms为单位,获取系统时间.睡眠或延迟时间函数的使用方法. #include<stdio.h> #include <time.h> #include <sys/t ...

  9. itext5和itext7操作pdf平铺和图层叠加(tiling, and N-upping)

    区别 itext5 生成pdf版本:1.4(Acrobat5.x) itext7 生成pdf版本:1.7(Acrobat8.x) iText7生成的pdf文件大, itext7 Java库更加系统和完 ...

  10. 解题笔记——NIT 遥远的村庄

    某个小镇有 N 个村庄,村庄编号1-N,给出 M 条单向道路,不存在环,即不存在 村庄A可以到达村庄B 且 村庄B也可以到达村庄A的情况.如果村庄A与村庄B之间存在一条单向道路,则说村庄A和村庄B之间 ...