crontab jobs失败,但是对应脚本手动执行成功?

我使用Python Plan构建crontab。对应的crontab内容是:

root@iZ2573cw0yvZ:~# cat /var/spool/cron/crontabs/root

# DO NOT EDIT THIS FILE - edit the master and reinstall.
# (/tmp/tmpbpaH93 installed on Wed May 11 19:58:04 2016)
# (Cron version -- $Id: crontab.c,v 2.13 1994/01/17 03:20:37 vixie Exp $)
# Begin Plan generated jobs for: main
0 * * * * mv /root/HybridDB_dawn_socket/twistd.log.* /root/HybridDB_dawn_socket/log/
0 * * * * /root/plan_lab/sampleDevNr.sh
# End Plan generated jobs for: main

其中mv log工作正常,但是sampleDevNr.sh工作不正常。该文件内容:

#!/bin/sh

logfile="/root/HybridDB_dawn_socket/devNr.log"

date >> $logfile
redis-cli -a myredis::password scard onlineDevices >> $logfile

如果手动运行/root/plan_lab/sampleDevNr.sh,返回为:

Fri May 13 10:55:12 CST 2016
2100

代表某个时刻返回21,代表有2100人在线。但是我检查/root/HybridDB_dawn_socket/devNr.log文件:

Wed May 11 19:46:25 CST 2016
1300
Wed May 11 19:46:40 CST 2016
1350
Wed May 11 19:48:47 CST 2016
1322
Wed May 11 19:56:37 CST 2016
1357
Wed May 11 20:00:01 CST 2016
Wed May 11 21:00:01 CST 2016
Wed May 11 22:00:01 CST 2016
Wed May 11 23:00:01 CST 2016

因为crontab是每小时运行的。这意味着logfile里面只有时间,而真正需要采集的数据却没有采集到。

我检查过了路径和权限,不知道为何会出现这种结果,求教Linux运维老鸟指点。

阅读 4.5k
1 个回答
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏