码迷,mamicode.com
首页 > 其他好文 > 详细

定时任务crond

时间:2018-01-03 19:42:32      阅读:208      评论:0      收藏:0      [点我收藏+]

标签:tle   img   sha   init   rpm   编辑   查看   pts   绝对路径   


 

作者

归档:学习笔记

2016/6/27




rpm补充:

1. rpm -qf /sbin/ifconfig :查看ifconfig属于哪个软件包

rpm -ql :查看rpm软件包中有什么

rpm -e :删除某一个软件包

yum install 安装ifconfig属于的软件包

2. yum remove  卸载yum安装的包(非常危险)

 

本章正题:定时任务crond


1.1 定时任务

1.1.1 定时任务分类:

1. crond crontab】定时任务软件(对应软件包cronie)

2. atd  运行一次

3. anacron  7*24小时运行的服务器(很少用)

1.1.2 crond的分类

crond分类: 1. 系统定时任务

      2.用户定时任务


1. 系统的定时任务:6个文件:/etc/corn.hourly :每个小时运行这里面的内容

      /etc/cron.daily :每天运行这里面的内容

     /etc/cron.weekly :每周运行这里面的内容

    /etc/cron.month :每月运行这里面的内容

      /etc/cron.deny :定时任务的黑名单(不常用)

      /etc/crontab :系统定时任务的配置文件之一

日志的切割,日志轮询的作用:使一个日志文件不会过大,定时定点切割成多个文件。

如下图带日期显示的多个文件:

技术分享图片 

 

那么谁完成日志的切割:[root@oldboyedu43-lnb ~]# ll 系统定时任务+logrodate完成对日志的切割

 

2. 用户定时任务:

1)查看定时任务:crontab  -l

2)编辑定时任务:crontab  -e  

 使用crontab -e相当于vim编辑/var/spool/cron/root root 是用户名)

1.1.3 定时任务的查看

1. 查看定时任务 当前是否在运行

    方法一:ps -ef |grep crond

    方法二:/etc/init.d/crond status   (pid:进程号)

2. 查看定时任务 ,重启服务器之后是否会运行(是否开机自启动)

[root@georgekai ~]# chkconfig |grep crond

 

1.1.4  定时任务crontab怎么使用

1. crontab -e  编辑定时任务

2. crontab -l 查看编辑好的定时任务

注:crontab的好处:1.有语法检查功能,格式对不对

          2.方便

1.1.5 定时任务相关的文件

1. var/spool/cron/:定时任务配置文件的所在目录

注:查看日志的命令:less moremore不能往上翻,到最后一行会自动退出)

            b向上翻页,空格或f 向下翻页.

2.  /var/log/cron 定时任务记录文件解释 : 时间--哪个用户的哪个程序运行的---运行的什么命令

3. /etc/cron.deny:定时任务黑名单

1.1.6 定时任务格式

注:最好在定时任务上面加一条注释,用来表示这条任务是干什么的

1. 什么时间 (分时日月周)

0-59  0-23  日期1-31  1-12  周几0-6 07表示周日)

 技术分享图片

 

2. 做什么事情(命令或脚本)

    注:命令写绝对路径

*/10 * * * * /usr/sbin/ntpdate ntp1.aliyun.com

注意:日期和星期不要同时加上数字

3.   基本格式(分时日月周)

       1)口诀:分时日月周

       2)定时任务常用符号

          *  :每分钟

          */10 :每隔10分钟

          -  :从哪来到哪去,连续范围,7-11

           :分割,或者的意思

      

1: 同步系统时间为例设置定时任务(*/10 :每隔10分钟

1)先测试绝对路径命令可否正常使用

[root@georgekai ~]# /usr/sbin/ntpdate ntp1.aliyun.com

2)在写入定时任务,crontab -l 查看

[root@georgekai ~]# crontab -l

*/10 * * * * /usr/sbin/ntpdate ntp1.aliyun.com

3)检查 1.看日志 tail -f  /var/log/cron 2.看文件内容有没有改变

[root@georgekai ~]# tail -f /var/log/cron

2:每天晚上23点到上午7点 每一个小时运行CMD命令 (-  :从哪来到哪去,连续范围,23,00-07

00 23,00-07 * * * CMD

注:表达小时的时候,分钟上尽量别写*(给个固定时间)

00 23,00-07/1 * * *  (不能写23-07,转不过来)  

3:每分钟把自己的名字 追加kai.txt( :分割,或者的意思

1. [root@georgekai ~]# /bin/echo "wangkai" >> /oldboy/oldboy.txt

2. [root@georgekai ~]# crontab -l

* * * * * /bin/echo "wangkai" >> /oldboy/oldboy.txt

3. tail -f /vat/log/cron

Jan  3 11:31:01 georgekai CROND[17327]: (root) CMD (/bin/echo "wangkai" >> /oldboy/oldboy.txt)

注:时间--哪个用户的哪个程序运行的---运行的什么命令

1.1.7    定时任务书写流程:

1. 在命令行测试命令是否能用

[root@georgekai /]# date +%F_%w

2. 把命令写到脚本中

[root@georgekai /]# echo "date +%F_%w" >> /server/scripts/date.sh

注:>> 追加别写到脚本中(复否则太多),写到定时任务中

3. 测试脚本是否可以用

[root@georgekai /]# sh /server/scripts/date.sh

注:用sh 执行脚本(sh =bash),如:sh  time.sh  

4. 写定时任务(1.先改成每分钟测试一下  2.在改成要求的时间)

[root@georgekai /]# crontab -e

#time sh

* * * * * /bin/sh /server/scripts/date.sh >> /tmp/time.log

注:1. 定时任务中命令要用绝对路径

   2.定时任务中%号表示回车键的意思,需要撬棍转义

5. 检查结果(1.看日志  2.看命令是否执行成功)

1. 看日志

[root@georgekai /]# tail -f /var/log/cron

Jan  3 12:35:01 georgekai CROND[18125]: (root) CMD (/bin/sh /server/scripts/da.sh >> /tmp/time.log)

2. 看是否执行成功

[root@georgekai /]# cat /tmp/time.log

2018-01-03_3

注:往后改3秒时间 date -s "3sec"

总结:

1. 定时任务分类:用户和系统(日志轮询,监视)

2. 定时任务书写流程

3. 定时同步系统时间,追加名字或时间到文件

4. 定时任务9句箴言

 


定时任务crond

标签:tle   img   sha   init   rpm   编辑   查看   pts   绝对路径   

原文地址:http://blog.51cto.com/13055758/2057123

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!