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

crond服务

时间:2016-06-02 09:57:23      阅读:230      评论:0      收藏:0      [点我收藏+]

标签:crond

crond服务简要说明:

      Crondlinux中用来定期执行命令或指定程序任务的一种服务或软件,一般情况下,我们安装完centos5/6 linux操作系统之后,默认会启动crond任务调度服务,crond服务会定期(默认每分钟执行一次)检查系统中是否要执行的任务工作,如果有,变回根据其预先设定的定时任务规则自动执行该定时任务工作,这个crond定时任务服务就相当于我们平时早起使用的闹钟一样。


crond服务相关的配置文件

/etc/crontab 

系统定时任务配置文

/var/spool/cron/root 

用户定时任务配置文件

/var/log/cron 定时任务日志文件
/var/spool/postfix/maildroppostfix服务邮件目录
/etc/cron.deny

该文件中所列用户不允许使用crontab命令,

/etc/cron.allow该文件中所列用户允许使用crontab命令,优先于/etc/cron.deny(两文件刚好相反)
/server/scripts/用户存放脚本指定目录


添加crontab所涉及到的主要命令

crontab(参数)含义
crontab -l

crontab –l == cat /var/spool/cron/root

crontab -e

crontab –e == vim /server/scripts/root


定时任务添加示例图


技术分享


下面以简单例子来测试添加定时任务,如下:

[root@beita /]# mkdir -p /var/www/html    <==创建环境

[root@beita /]# mkdir /data           <==创建环境

[root@beita /]# touch /var/www/html/file{01..05}

[root@beita /]# ls /var/www/html

file01  file02  file03  file04  file05       <==创建环境

[root@beita /]# cd /var/www/         <==到打包目录的上一级目录打包

[root@beita www]#tar zcf /data/html_$(date +%F-%T)_tar.gz ./html  <==命令测试

[root@beita www]# ls /data

html_2016-06-01-23:19:07_tar.gz        <==打包成功(命令测试成功

[root@beita www]# cd /server/scripts/    《==到指定路径写入脚本

[root@beita scripts]# vim test.sh    <==写脚本

#!/bin/bash       <==规范 表明这是shell脚本

cd /var/www/&&\    <==&&表示两者具有逻辑关系,\表示换行

tar zcf /data/html_$(date +%F)_tar.gz ./html

~                                                                        

:wq           <==保存

 

[root@beita www]# /bin/sh /server/scripts/test.sh   <==全路径测试该脚本

[root@beita www]# ls /data

html_2016-06-01-23:19:07_tar.gz   html_2016-06-01-23:20:11_tar.gz  <==测试成功

 

[root@beita www]# crontab -e   <==将执行成功的脚本复制到定时任务

 

#time sync by beita at 2010-2-1

 */5 * * * * /usr/sbin/ntpdate asia.pool.ntp.org >/dev/null 2>&1

 

# Timing task test 2016-06-01

00 00 * * * /bin/sh /server/scripts/test.sh &/dev/null

~                                                           

:wq

 

[root@beita www]#crontab -l   <==查看

#time sync by beita at 2010-2-1

 */5 * * * * /usr/sbin/ntpdate asia.pool.ntp.org >/dev/null 2>&1

 

# Timing task test 2016-06-01

00 00 * * * /bin/sh /server/scripts/test.sh &/dev/null



因为环境变量造成定时任务结果输出不全的解决方案

原因:用户的定时任务的环境变量为/usr/bin:/bin

1. 脚本中所有的命令都使用全路径
2. 自[root@oldboyedu scripts]# cat /server/scripts/iptest.sh 
#!/bin/bash
source /etc/profile

IP=$(ifconfig eth0|awk -F ‘[ :]+‘ ‘NR==2{print $4}‘)

echo ${PATH}_${IP}_a1234566 >>/tmp/iptest.txt

定义PATH路径径 PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
3. source /etc/profile
添加的环境变量
/usr/local/sbin:/usr/sbin:/sbin:/usr/bin:/bin





本文出自 “行者” 博客,请务必保留此出处http://zhaoyulin.blog.51cto.com/11665101/1785341

crond服务

标签:crond

原文地址:http://zhaoyulin.blog.51cto.com/11665101/1785341

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