Crontab-Execute permission denied解决方法

作者:聂勇 欢迎转载,请保留作者信息并说明文章来源!

环境

  • HP-UX (B.11.31)

一、Execute permission denied

详细的错误信息如下:

From root@AOFENG Fri Nov 6 18:06:00 EAT 2009
Received: (from root@localhost)
by AOFENG (@(#)Sendmail version 8.13.3 - Revision 1.001:: HP-UX11.31 - 2nd April,2008/8.13.3) id nA6A60E6018449
for oraodm; Fri, 6 Nov 2009 18:06:00 +0800 (EAT)
Date: Fri, 6 Nov 2009 18:06:00 +0800 (EAT)
From: root@AOFENG
Message-Id: 200911061006.nA6A60E6018449@ZBDMDB2
Subject: cron

sh: Users: Execute permission denied.

*************************************************
Cron: The previous message is the standard output
and standard error of one of your crontab commands:

* /opt/aofeng/stat_disk.sh

原因

是调用 stat_disk.sh 的crontab脚本中多写了一个*,脚本如下:

1
2
####### Statictis Disk TPS #######
20 0-23 * * * * /opt/aofeng/stat_disk.sh

crontab 的格式如下:

1
2
3
4
5
6
7
8
9
#Minute (0-59),
#| Hour (0-23),
#| | Day of the month (1-31),
#| | | Month of the year (1-12),
#| | | | Day of the week (0-6 with 0=Sunday).
#| | | | | Commands
#| | | | | |
#-------------------------------------------------------------------
1 * * * * date`

解决方法

删除多余的*。正确的脚本如下:

1
2
####### Statictis Disk TPS #######
20 0-23 * * * /opt/aofeng/stat_disk.sh`

产生这个问题的原因主要是由于脚本中存在错误导致。因为 crontab 的 job 是由root调用,root对系统中所有的文件都有访问和执行权限。