Linux---CentOS 定时运行脚本配置练手
1.安装crontab
yum install vixie-cron yum install crontabs
vixie-cron软件包是cron的主程序;
crontabs软件包是用来安装、卸装、或列举用来驱动 cron 守护进程的表格的程序。
2开启crontab服务
service crond start
用以下的方法启动、关闭这个cron服务:
service crond start //启动服务
service crond stop //关闭服务
service crond restart //重启服务
service crond reload //重新载入配置
查看crontab服务状态:service crond status
手动启动crontab服务:service crond start
查看crontab服务是否已设置为开机启动,执行命令:ntsysv
加入开机自动启动:
chkconfig –level 35 crond on
另外顺带介绍下ntsysv和chkconfig命令:
关于ntsysv命令是类图形界面管理模式来设置开机启动,需要先安装才可以使用,yum install -y ntsysv安装好之后只需要运行一个ntsysv即可出现一个类似图像化的管理界面。
上下键:可以在中间的方框当中,在各个服务之间移动;
空格键:可以用来选择你所需要的服务,[*]表示开起启动;
tab键:可以在方框、OK、Cancel之间移动;
[F1]键:可以显示该服务的说明。
关于chkconfig命令行的形式设置是否开机自启动或者查询某个服务6个开机级别的运行情况。
设置开机自动启动crond服务:
[root@CentOS ~]# chkconfig crond on
查看各个开机级别的crond服务运行情况
[root@CentOS ~]# chkconfig –list crond
crond 0:关闭 1:关闭 2:启用 3:启用 4:启用 5:启用 6:关闭
可以看到2、3、4、5级别开机会自动启动crond服务
取消开机自动启动crond服务:
[root@CentOS ~]# chkconfig crond off
3.设置需要执行的脚本
新增调度任务可用两种方法:
1)、在命令行输入: crontab -e 然后添加相应的任务,wq存盘退出。
2)、直接编辑/etc/crontab 文件,即vi /etc/crontab,添加相应的任务。
crontab -e配置是针对某个用户的,而编辑/etc/crontab是针对系统的任务
查看调度任务
crontab -l //列出当前的所有调度任务
crontab -l -u jp //列出用户jp的所有调度任务
删除任务调度工作
crontab -r //删除所有任务调度工作
直接编辑 vim /etc/crontab ,默认的文件形式如下:
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/
# 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
这个文本解释的已经比较直观了,其中
星号(*):代表所有可能的值,例如month字段如果是星号,则表示在满足其它字段的制约条件后每月都执行该命令操作。
逗号(,):可以用逗号隔开的值指定一个列表范围,例如,“1,2,5,7,8,9”
中杠(-):可以用整数之间的中杠表示一个整数范围,例如“2-6”表示“2,3,4,5,6”
正斜线(/):可以用正斜线指定时间的间隔频率,例如“0-23/2”表示每两小时执行一次。同时正斜线可以和星号一起使用,例如*/10,如果用在minute字段,表示每十分钟执行一次。
这里举几个例子,基本涵盖了常见的一些情况:
实例1
* * * * ls 指定每小时的第5分钟执行一次ls命令
* * * ls 指定每天的 : 执行ls命令
* * ls 指定每月8号的7:30分执行ls命令
* ls 指定每年的6月8日5:30执行ls命令
* ls 指定每年的6月8日5:30执行ls命令
* * ls 指定每星期日的6:30执行ls命令
, * * ls 每月10号及20号的3:30执行ls命令
- * * * ls 每天8-11点的第25分钟执行ls命令
*/ * * * * ls 每15分钟执行一次ls命令
*/ * * ls 每个月中,每隔10天6:30执行一次ls命令
* * * root run-parts /etc/cron.daily
#每天4:22以root身份执行/etc/cron.daily目录中的所有可执行文件,run-parts参数表示,执行后面目录中的所有可执行文件
实例2
#每晚的21: 重启apache
* * * /usr/local/etc/rc.d/lighttpd restart
#每月1、、22日的4 : 45重启apache
,, * * /usr/local/etc/rc.d/lighttpd restart
#每周六、周日的1 : 10重启apache
* * , /usr/local/etc/rc.d/lighttpd restart
#每天18 : 00至23 : 00之间每隔30分钟重启apache
, - * * * /usr/local/etc/rc.d/lighttpd restart
#每星期六的11 : pm重启apache
* * /usr/local/etc/rc.d/lighttpd restart
#晚上11点到早上7点之间,每隔一小时重启apache
-/ * * * /usr/local/etc/rc.d/lighttpd restart
#每一小时重启apache
*/ * * * /usr/local/etc/rc.d/lighttpd restart
#每月的4号与每周一到周三的11点重启apache
* mon-wed /usr/local/etc/rc.d/lighttpd restart
#一月一号的4点重启apache
jan * /usr/local/etc/rc.d/lighttpd restart
#每半小时同步一下时间
/ * * * * /usr/sbin/ntpdate 210.72.145.44
注意 * *1 * * *
命令表示是每小时之内的每一分钟都执行。
必须指定在每个小时的第几分钟执行,也就是说第一个*号必须改成一个数值。
因为*号表示的就是每一分钟。
另外小时位的/1和没有区别,都是每小时一次。
如果是设置*/2,实际上是能被2整除的小时数而不是从定时设置开始2小时后执行,比如9点设的到10点就会执行。
最后可能会遇到下面这个问题
root用户下 输入 crontab -l 显示
no crontab for root 例如:
[root@CentOS ~]# crontab -l
no crontab for root
这个问题非常简单,同样在 root 用户下输入 crontab -e
按 Esc 按: wq 回车
在输入 crontab -l 就没有问题了
主要原因是由于这个liunx服务器 第一次使用 crontab ,还没有生成对应的文件导致的,执行了 编辑(crontab -e)后 就生成了这个文件
Linux---CentOS 定时运行脚本配置练手的更多相关文章
- Linux---CentOS 定时运行脚本配置
很多时候我们有希望服务器定时去运行一个脚本来触发一个操作,比如使用七牛的工具上传,如果同步文件里面有新增加一个文件,这个时候我们可以提供定时脚本去完成我们需要的同步命令(七牛的qrsbox工具是自动会 ...
- CentOS定时运行脚本
1,新增脚本 如: vim /usr/local/crontab/clear_tomcat_log.sh 2, 修改权限 chomd 700 clear_tomcat_log.sh 3,调度任务: ...
- Linux下定时执行脚本(转自Decode360)
文章来自:http://www.blogjava.net/decode360/archive/2009/09/18/287743.html Decode360's Blog 老师(业精于勤而荒于嬉 ...
- 实用脚本 2 -- Linux下定时执行脚本
今天学习Linux下定时执行脚本,看到一篇讲解比较好的文章,特此拿来分享. 原文链接:http://www.blogjava.net/decode360/archive/2009/09/18/2877 ...
- Mac上定时运行脚本工具--launchctl
在Mac上可以像在Linux上一样,使用crontab来定时运行脚本,但苹果并不推荐这个方法.苹果推荐使用Launchctl来完成定时任务. 首先,我们先写一个可执行的脚本,列子为php脚本,名字为t ...
- Linux CentOS 7 YouCompleteMe相关配置。
CentOS 6.5上面弄了2天,以失败告终!!!当作练手了.在网上看到一篇CentOS7.0上安装YouCompleteMe插件的文章,就重新在虚拟机上安装了一个CentOS7,按那个文章执行了一下 ...
- Linux-crontab定时执行脚本配置
crontab是一个可以根据自己配置的命令定时执行脚本的服务 安装crontab(centos) yum install Vixie-cron yum install crontabs vixie-c ...
- Linux上定时shell脚本
原文链接:http://www.92coder.com/9-Linux%E5%AE%9A%E6%97%B6shell%E8%84%9A%E6%9C%AC/#more 本文主要介绍在Linux系统上部署 ...
- Linux(CentOS 6.7)下配置Mono和Jexus并且部署ASP.NET MVC3、4、5和WebApi(跨平台)
1.开篇说明 a. 首先我在写这篇博客之前,已经在自己本地配置了mono和jexus并且成功部署了asp.net mvc项目,我也是依赖于在网上查找的各种资料来配置环境并且部署项目的,而其在网上也已有 ...
随机推荐
- Unity3D插件-自制小插件、简化代码便于使用(新手至高手进阶必经之路)
Unity3D插件-简化代码.封装功能 本文提供全流程,中文翻译.Chinar坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) 1 FindT() ...
- JAVA爬取百度贴吧图片
package com.wang.xiaowei.utils; import com.sun.image.codec.jpeg.JPEGCodec; import com.sun.image.code ...
- hdu 5285 二分图黑白染色
题意:给出 n 个人,以及 m 对互不认识的关系,剩余的人都互相认识,要将所有人分成两组,组内不能有互不认识的人,要求每组至少有一人,并且第一组人数尽量多,问两组人数或不可能时单独输出 BC 48 场 ...
- 【BZOJ2558】Count on a tree
又是因为傻逼错误浪费了半天时间 原题: 给定一棵N个节点的树,每个点有一个权值,对于M个询问(u,v,k),你需要回答u xor lastans和v这两个节点间第K小的点权.其中lastans是上一个 ...
- tomcat catalina.out切割脚本
shell脚本catalina.out 切割脚本...每天23.30切割.删除七天之前的日志这里3个tomcat实例(1)拷贝日志文件(2)清空日志文件*只能清空如果删除tomcat不重启不会生成新的 ...
- MapReduce-朴素贝叶斯
朴素贝叶斯(Native Bayes),贝叶斯在现实使用中是怎么玩的?不是根据A|B的概率获得B|A的概率,在现实中的玩法是: 首先要明白贝叶斯是一种分类算法,因为是概率所以,他的应用领域其实是比较, ...
- Spring Cloud 入门 之 Config 篇(六)
原文地址:Spring Cloud 入门 之 Config 篇(六) 博客地址:http://www.extlight.com 一.前言 随着业务的扩展,为了方便开发和维护项目,我们通常会将大项目拆分 ...
- Package rdkafka was not found in the pkg-config search path.
问题 在使用confluent-kafka-go 时遇到如下问题: $ go build t.go # pkg-config --cflags rdkafka Package rdkafka was ...
- SSD学习,keras
https://github.com/pierluigiferrari/ssd_keras
- 源码|ThreadLocal的实现原理
ThreadLocal也叫"线程本地变量"."线程局部变量": 其作用域覆盖线程,而不是某个具体任务: 其"自然"的生命周期与线程的生命周期 ...