Linux之定时任务Crond使用

一、用法

crond服务是linux系统自带的服务,是不需要手动安装的;

crond服务是一种守护进程;

Linux中的用户使用contab命令来配置corn任务;

crontab –e : 修改 crontab 文件,如果文件不存在会自动创建;
crontab –l : 显示 crontab 文件;
crontab -u 用户名 -l :查看指定用户的定时任务设置;
crontab -r : 删除 crontab 文件;
crontab -ir : 删除 crontab 文件前提醒用户。
//安装crond服务
[root@VM_0_5_centos ~]# yum install vixie-cron crontabs
// 查看crond进程信息:
[root@CloudDeskTop ~]# ps -ef|grep crond|grep -v grep
//查看crond服务状态
[root@CloudDeskTop ~]# service crond status
//停止crond服务
[root@CloudDeskTop ~]# service crond stop
//重启crond服务,先停止再开启
[root@CloudDeskTop ~]# service crond restart
//开启crond服务
[root@CloudDeskTop ~]# service crond start

二、为特定用户添加定时任务

1、为root用户添加

写一个脚本:

为该脚本添加所有用户可执行的权限,方便后面的测试:chmod a+x test.sh

停止crond服务:service crond stop

添加定时任务:
[root@CloudDeskTop install]# crontab -e

* * * * * /bin/sh /install/test.sh

查看定时任务:
[root@CloudDeskTop install]# crontab -l
* * * * * /bin/sh /install/test.sh

查看有哪些用户拥有定时任务:
[root@CloudDeskTop ~]# ls /var/spool/cron
root

开启crond服务:service crond start

查看/install/目录下是否有test.log文件;

实时显示test.log中的内容:tail -f test.log

停止crond服务:service crond stop

2、为hadoop用户添加

写一个脚本:

为该脚本添加所有用户可执行的权限,方便后面的测试:chmod a+x test01.sh

停止crond服务:[root@CloudDeskTop ~]# service crond stop

添加定时任务:
[hadoop@CloudDeskTop install]$ crontab -e

  * * * * * /bin/sh /install/test.sh
  * * * * * /bin/sh /install/test01.sh

查看定时任务:
[hadoop@CloudDeskTop install]$ crontab -l
* * * * * /bin/sh /install/test.sh
* * * * * /bin/sh /install/test01.sh

查看有哪些用户拥有定时任务:
[root@CloudDeskTop ~]# ls /var/spool/cron
hadoop      root

开启crond服务:[root@CloudDeskTop ~]# service crond start

查看/install/目录下是否有test.log文件;

实时显示test.log中的内容:[hadoop@CloudDeskTop install]$ tail -f test.log

停止crond服务:[root@CloudDeskTop ~]# service crond stop

删除当前用户下定时任务:

[hadoop@CloudDeskTop install]$ crontab -r
[hadoop@CloudDeskTop install]$ crontab -l
no crontab for hadoop

3、小结:

//命令格式:* * * * * /bin/sh cmd
1、cmd为要执行的命令或脚本,例如:/bin/sh /server/scripts/chensiqi.sh
2、每个列之间必须要有一个空格。多个空格可以么?自己实践 ==> 经我本人测试有多个空格也可以执行!!
3、* * * * *的时间记忆口诀:分时日月周

三、为系统添加定时任务[vi /etc/crontab]

1、理论

在crontab文件中写入需要执行的命令和时间,该文件中每行都包括六个域,其中前五个域是指定命令被执行的时间,最后一个域是要被执行的命令。每个域之间使用空格或者制表符分隔。格式如下:

minute hour day-of-month month-of-year day-of-week commands    

合法值为:00-59  00-23  01-31  01-12  0-6 (0 is sunday)

第一行SHELL变量指定了系统要使用哪个shell,这里是bash。
第二行PATH变量指定了系统执行 命令的路径。
第三行MAILTO变量指定了crond的任务执行信息将通过电子邮件发送给root用户,如果MAILTO变量的值为空,则表示不发送任务 执行信息给用户。

注:commands 注意以下几点

  • 要是存在文件,要写绝对路径
  • 即使是打印也不会显示在显示屏,在后台运行,最好重定向日志
//定时任务时间格式举例:
5 * * * * /sbin/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 整点执行ls命令 ]
30 6 */10 * * ls 每个月中,每隔10天6:30执行一次ls命令[即每月的1、11、21、31日的6:30执行一次ls 命令。 ]

除了数字还有几个特殊的符号:"*"、"/"和"-"、","

  • *代表所有的取值范围内的数字
  • "/"代表每的意思,"/5"表示每5个单位
  • "-"代表从某个数字到某个数字
  • ","分开几个离散的数字
 cron服务每分钟不仅要读一次/var/spool/cron内的所有针对特定用户的定时任务文件,还需要读一次系统级的/etc/crontab文件;用crontab -e配置是针对某个用户的,而编辑/etc/crontab是针对系统的任务。

2、 测试:

1)、编写定时任务:[root@CloudDeskTop install]# vi /etc/crontab

2)、重启crond服务:[root@CloudDeskTop ~]# service crond restart

查看/install/目录下是否有test.log文件;

实时显示test.log中的内容:[hadoop@CloudDeskTop install]$ tail -f test.log

停止crond服务:[root@CloudDeskTop ~]# service crond stop

3、 注意:

run-parts命令只能用于在/etc/crontab中添加定时任务;

Linux之定时任务Crond使用的更多相关文章

  1. Linux系统定时任务crond那些事

    1 Linux系统定时任务 1.1 定时任务介绍 1.1.1 Crond是什么? Crond是linux系统中用来定期执行命令或指定程序任务的一种服务或软件.Centos5/ linux系统安装完操作 ...

  2. Linux之定时任务Crond介绍

    Linux之定时任务 定时任务Crond介绍 Crond是linux系统中用来定期执行命令/脚本或指定程序任务的一种服务或软件,一般情况下,我们安装完Centos5/6 linux操作系统之后,默认便 ...

  3. Linux之定时任务crond

    定时任务说明与分类 定时任务的应用场景举例 每天晚上 12点备份/etc/目录 tar 定时任务的三种分类 crond(crontab)定时任务软件(软件包cronie),用的最多的一种 atd,应用 ...

  4. linux系统定时任务crond入门

    1,Crond: Crond是linux系统中用来定期执行命令或指定程序任务的一种服务或者软件.(Centos5以后默认存在) 当优化开机自启动的时候,第一个就是crond. Crond服务默认情况( ...

  5. Linux:定时任务crond服务

    一.crond简介 crond是linux下用来周期性的执行某种任务或等待处理某些事件的一个守护进程,与windows下的计划任务类似,当安装完成操作系统后,默认会安装此服务工具,并且会自动启动cro ...

  6. linux添加定时任务crond

    1.crontab –e:编辑当前定时任务 保存完重新crond : service crond restart 2. crontab用法 crontab –e : 修改 crontab 文件,如果文 ...

  7. linux定时任务crond export变量问题

    linux定时任务crond export变量问题 1)我写了一个重启resin的脚本,由于业务原因,需要定时在某一个时间重启下resin服务器,于是就在 crontab里配置了如下内容: 50 17 ...

  8. linux定时任务crond那些事!

    1.定时任务crond介绍 1.1 crond是什么 crond是linux系统中用来定期执行命令或指定程序任务的一种服务或软件. 特殊需求:(秒级别)crond服务就无法搞定了,一般工作中写脚本守护 ...

  9. Linux定时任务--Crond使用教程

    Linux定时任务--Crond使用教程 1. 介绍Crond crond是linux下用来周期性的执行某种任务或等待处理某些事件的一个守护进程,与windows下的计划任务类似,当安装完成操作系统后 ...

随机推荐

  1. Exp 8 Web基础

    Exp 8 Web基础 20154305 齐帅 一.实践要求: (1).Web前端HTML 能正常安装.启停Apache.理解HTML,理解表单,理解GET与POST方法,编写一个含有表单的HTML. ...

  2. ES6学习:两个面试题目--关于模板字符串

    号称看完就能“让开发飞起来”,不过文中的两个面试题目的知识点并没包括在文中. https://www.jianshu.com/p/287e0bb867ae 文中并没有完整的知识点去完成上面的两道题,这 ...

  3. 【洛谷P3960】列队题解

    [洛谷P3960]列队题解 题目链接 题意: Sylvia 是一个热爱学习的女孩子. 前段时间,Sylvia 参加了学校的军训.众所周知,军训的时候需要站方阵. Sylvia 所在的方阵中有 n×m ...

  4. react整理一二(初入React世界)

    react重要思想:组件化(按钮组件.对话框组件.日期组件等等).JSX语法 react把代码和正式渲染目标隔离开来,除了可以在浏览器渲染到DOM来开发网页,还能用于开发原生移动运用 1.专注视图层: ...

  5. python爬虫学习之正则表达式的基本使用

    一.正则表达式 1. 正则表达式是字符串处理的有力工具和技术. 2. 正则表达式使用某种预定义的模式去匹配一类具有共同特征的字符串,主要用于处理字符串,可以快速.准确地完成复杂的查找.替换等处理要求, ...

  6. IM系统的MQ消息中间件选型:Kafka还是RabbitMQ?

    1.前言 在IM这种讲究高并发.高消息吞吐的互联网场景下,MQ消息中间件是个很重要的基础设施,它在IM系统的服务端架构中担当消息中转.消息削峰.消息交换异步化等等角色,当然MQ消息中间件的作用远不止于 ...

  7. centos安装discuz论坛

    wget http://download.comsenz.com/DiscuzX/3.3/Discuz_X3.3_SC_UTF8.zip #下载最新版Discuzunzip Dis......zip ...

  8. PHP之ThinkPHP框架(验证码、文件上传、图片处理)

     验证码 验证码是框架自带有的,比之前使用GD库简单方便许多,其实现原理基本相似,都是生成图片,保存验证码值到Session中,表单提交验证码,然后进行值的对比验证. 简单的显示: <form ...

  9. Flask依赖和启动流程回顾

    flask 有两个核心依赖库:werkzeug 和 jinja,而 werkzeug 又是两者中更核心的. werkzeug werkzeug负责核心的逻辑模块,比如路由.请求和应答的封装.WSGI ...

  10. Git基本命令 -- 基本工作流程 + 文件相关操作

    可以先找一个已经被git管理的项目, 我就使用这个项目吧: https://github.com/solenovex/ID3-Editor 基本工作流程 克隆以后呢, 进入该目录查看一下状态: 然后添 ...