linux下的cron定时任务知识梳理
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定时任务知识梳理的更多相关文章
- Linux下Apache(HTTP)基础知识梳理-运维笔记
HTTP介绍: HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传 ...
- 使用linux下的crontab定时任务跑定时脚本
使用linux下的crontab定时任务跑定时脚本 tags:定时任务 定时脚本 crontab linux定时脚本 linux 引言:应该有许多人曾经很好奇一些定时脚本是怎么做出来的.我们这次就来说 ...
- ***linux下用cron定时执行任务的方法
名称 : crontab 使用权限 : 所有使用者 使用方式 : crontab file [-u user]-用指定的文件替代目前的crontab. crontab-[-u user]-用标准输入 ...
- linux 下的 crontab 定时任务工具
以下内容转自:https://www.cnblogs.com/longjshz/p/5779215.html 在LINUX中,周期执行的任务一般由cron这个守护进程来处理[ps -ef|grep c ...
- Linux下socket编程基本知识
本文档主要讲解了Linux下socket编程的一些基本知识,主要包括套接字和字节序的概念,以及一些常用的结构体和函数. 本文是在网易云课堂学习过程中的记录,这个老师讲得很不错,推荐大家围观. Linu ...
- Linux下环境变量配置方法梳理(.bash_profile和.bashrc的区别)
在linux系统下,如果下载并安装了应用程序,在启动时很有可能在键入它的名称时出现"command not found"的提示内容.如果每次都到安装目标文件夹内,找到可执行文件来进 ...
- Linux下使用cron让Python程序持久化运行
正常情况下,一个python程序如果希望实现一直运行,不出错不奔溃是很难的,即使编译为可持续文件也是一样 幸运的是很多需求并不是需要24小时不间断运行,而是每隔一段时间运行一次即可 Linux系统自带 ...
- Linux下monit进程管理操作梳理
Monit对运维人员来说可谓神器,它是一款功能非常丰富的进程.文件.目录和设备的监测工具,用于Unix平台.它可以自动修复那些已经停止运作的程序,特使适合处理那些由于多种原因导致的软件错误.Monit ...
- Linux下的Mongodb部署应用梳理
一.Mongodb简介 官网地址:http://www.mongodb.org/ MongoDB是一个高性能,开源,无模式的文档型数据库,是当前NoSql数据库中比较热门的一种.MongoDB 是一 ...
随机推荐
- MySql数据主从同步配置
由于需要配置MySQL的主从同步配置,现将配置过程记录下,已被以后不时之需 MySql数据主从同步 1.1. 同步介绍 Mysql的 主从同步 是一个异步的复制过程,从一个 Master复制到另一 ...
- redis 数据类型之列表
1.lpush lpush(name,values) # 在name对应的list中添加元素,每个新的元素都添加到列表的最左边 # 如: # conn.lpush('oo', 11,22,33) # ...
- 8.Java的特性和优势
简单性:可以说Java是C++语法的纯净版,没有头文件,没有指针运算,也不用分配内存. 面向对象:是一种程序设计技术,它将重点放在对象以及对象的接口上,模拟人的思维写程序,所以人去学习非常快.因此,J ...
- 团队项目-Beta冲刺(第一周)
团队项目-Beta冲刺(第一周) 一. 作业描述 这个作业属于哪个课程 这个作业要求在哪里 团队名称 CTRL-IKun 这个作业的目标 合理安排时间完成接下来的任务,剩余任务预估,分配任务(开发,测 ...
- 异想家Golang学习笔记
1. 简介 官网:https://golang.google.cn/ 2. 编译器.工具链 编译 go build .\demo.go 编译和执行指令合二为一 go run demo.go 3. 注释 ...
- 用Python实现根据角4点进行矩阵二维插值并画出伪彩色图
哈哈,题目取得这么绕,其实就是自己写了一个很渣的类似图像放大的算法.已知矩阵四周的4点,扩展成更大的矩阵,中间的元素值均匀插入,例如: 矩阵: 1 2 3 4 扩展成3x3的: 1 1.5 2 ...
- JSON Web Token 是什么?
免费获得官方JWT手册并深入学习JWT吧! 简介 JSON Web Token(缩写JWT),是一套开放的标准(RFC 7519),它定义了一种紧凑且自URL安全的方式,以JSON对象的方式在各方之间 ...
- XGBoost原理学习总结
XGBoost原理学习总结 前言 XGBoost是一个上限提别高的机器学习算法,和Adaboost.GBDT等都属于Boosting类集成算法.虽然现在深度学习算法大行其道,但很多数据量往往没有太 ...
- Java 中的运算符和流程控制
Java 中的运算符和流程控制 + 面试题 算术运算符 Java 中的算术运算符,包括以下几种: **算术运算符** **名称** **举例** + 加法 1+2=3 - 减法 2-1=1 \* 乘法 ...
- Spring Boot入门简介-Maven配置
一.简介 -- 简化Spring应用开发的一个框架: -- 整个Spring技术栈的一个大整合: -- J2EE开发的一站式解决方案. 二.背景: ① J2EE笨重的开发.繁多的配置.低下的开发效率. ...