奥塔在线:CentOS下查看crontab定时任务输出日志

值班室打电话过来,提醒说监控平台中某台TCU集群服务器告警,磁盘空间不足。

连上服务器,使用df -h查看当前磁盘使用情况,居然已经93%了。

通过查看目录大小命令

 du -sh *

 发现是Nginx服务的日志已经100多G了。

前期部署服务时,已经通过定时任务+sh命令分割了Nginx日志,并按时间进行清理,怎么会日志有这么大。

带着困惑,开始检查原因。

1、检查定时任务

定时任务

2、检查服务是否执行

服务运行状态
定时服务状态

看起来都是正常的,但是为什么执行不成功呢?首先考虑的是检查crontab执行的日志。

那么问题又来了,如何查看crontab的日志记录呢?

有两种方式可以查看定时任务日志:

1、通过查看系统日志目录下的定时任务日志

tail -300 /var/log/cron

 不同的安装方法、不同的系统版本,定时任务的日志目录可能不同,不能一概论之。

 2、通过查看当前用户mail

 tail -300  /var/spool/mail/root

 通过查看日志,发现定时任务执行时,报错如下:

/bin/sh: root: command not found

 怀疑是脚本有问题,执行脚本后却发现是正常的。那问题在哪里?为什么会提示root命令没找到?

按错误的关键词在网上搜索了下,没有找到答案,一时不知道该怎么办了。

难道是crontab配置问题?在网上搜索了下,发现了一个比较有趣的现象。

定时任务有两种配置方式:

1、在/etc/crontab下设置,需要指定用户名

2、直接用crontab -e,不需要指定用户

问题原因算是找到了,原来开发人员在部署时,在定时任务配置项中添加了root用户,导致命令执行时,把root当做命令来执行了。把配置中的root删除后,第二天检查时,定时任务正常执行完成。

定时任务检查
定时任务情况

最后需要重点提醒的是:在定时任务(crond)中,最好把执行脚本或命令的全路径加上,否则经常出现执行失败,找不到指令文件的异常。如下图:

参考:http://www.cnblogs.com/zishengY/p/6805316.html

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值