crond服务
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了crond服务相关的知识,希望对你有一定的参考价值。
crond服务简要说明:
Crond是linux中用来定期执行命令或指定程序任务的一种服务或软件,一般情况下,我们安装完centos5/6 linux操作系统之后,默认会启动crond任务调度服务,crond服务会定期(默认每分钟执行一次)检查系统中是否要执行的任务工作,如果有,变回根据其预先设定的定时任务规则自动执行该定时任务工作,这个crond定时任务服务就相当于我们平时早起使用的闹钟一样。
crond服务相关的配置文件
/etc/crontab | 系统定时任务配置文 |
/var/spool/cron/root | 用户定时任务配置文件 |
/var/log/cron | 定时任务日志文件 |
/var/spool/postfix/maildrop | postfix服务邮件目录 |
/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 |
定时任务添加示例图
下面以简单例子来测试添加定时任务,如下:
[[email protected] /]# mkdir -p /var/www/html <==创建环境
[[email protected] /]# mkdir /data <==创建环境
[[email protected] /]# touch /var/www/html/file{01..05}
[[email protected] /]# ls /var/www/html
file01 file02 file03 file04 file05 <==创建环境
[[email protected] /]# cd /var/www/ <==到打包目录的上一级目录打包
[[email protected] www]#tar zcf /data/html_$(date +%F-%T)_tar.gz ./html <==命令测试
[[email protected] www]# ls /data
html_2016-06-01-23:19:07_tar.gz <==打包成功(命令测试成功)
[[email protected] www]# cd /server/scripts/ 《==到指定路径写入脚本
[[email protected] scripts]# vim test.sh <==写脚本
#!/bin/bash <==规范 表明这是shell脚本
cd /var/www/&&\ <==&&表示两者具有逻辑关系,\表示换行
tar zcf /data/html_$(date +%F)_tar.gz ./html
~
:wq <==保存
[[email protected] www]# /bin/sh /server/scripts/test.sh <==全路径测试该脚本
[[email protected] www]# ls /data
html_2016-06-01-23:19:07_tar.gz html_2016-06-01-23:20:11_tar.gz <==测试成功
[[email protected] 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
[[email protected] 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. 自[[email protected] 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服务的主要内容,如果未能解决你的问题,请参考以下文章