0

我的任务是从 cron 运行脚本,因此我为脚本编写了以下 cronjob 并输出以下提到的错误消息。

定时任务

#BE housekeeper.sh
* * * * * /product/tools/housekeeper.sh -t BE > /tmp/fileset.out 2>&1

fileset.out 包含错误消息。这是错误信息。

/bin/sh: /product/tools/housekeeper.sh: Permission denied

为什么它说权限被拒绝。user1可以执行管家脚本如下

$sh housekeeper.sh -t BE

然后我检查了是否允许 user1 运行 cronjob。这个检查也通过了。允许 user1 运行 crontab。那么在这种情况下可能出现的错误是什么。

root      4181     1  0  2011 ?        00:00:00 crond
user1    7648  7564  0 06:18 pts/0    00:00:00 grep cron

我检查了应用程序的执行权限

$ls -ltr

-rw-r----- 1 user1 aapp 11732 May 17 08:55 housekeeper.sh

它说这个应用程序是可执行的吗

在此先感谢您的帮助

4

1 回答 1

2

您需要更改housekeeper.sh才能获得755权限(可执行)

chmod 755 housekeeper.sh

运行sh housekeeper.sh和调用在调用中找到的可执行文件并馈入其中/product/tools/housekeeper.sh的方式略有不同,因此您只需要对 的读取权限,但通过执行直接运行它需要您具有执行权限(因此)shsh$PATHhousekeeper.shhousekeeper.sh/product/tools/housekeeper.sh755

编辑

我看到你有-rw-r-----权限,很简单610,让我解释一下

一个文件有 3 组权限,以 3 组 3 位表示。第一位表示读取权限,如在您的输出中所见r,第二位是写入权限w,第三位(未设置,是x可执行位)。你有 3 组,第一组是所有者,组,然后是其他,因此你有 9 位

 111 111 111
 VVV VVV VVV
  |   |   |
Owner |   |
    Group |
        Other

sorw-r-----表示所有者有读写位,组有读位,其他人无权对该文件进行任何操作。

设置 755 会产生rwxr-xr-x,我会让你想想为什么:D

于 2012-05-18T06:21:11.657 回答