每分钟执行shell脚本的Crontab

时间:2012-09-18 13:54:43

标签: linux shell cron crontab

我在我的红帽服务器上制作了一个需要每分钟运行一次的shell脚本。我的脚本位于/media。我已经像这样编辑了crontab:

* * * * * /media/statusshellscript.sh

我的剧本肯定在上面的位置,我知道5星意味着每分钟运行。

哦,我的脚本肯定有效!因为当我做一个./statusshellscript它工作正常。无论如何,这是我的脚本,它基本上只运行我制作的PHP脚本,使生活更轻松。

#!/bin/bash
# Script to execute the PHP Script

cd ~
cd /media/PHPServerTest
php -f index.php

Crontab目前绝对没有做任何事情。不确定下一步该尝试什么?

另外..权限应该不是问题,因为我已经chmod 777 statusshellscript

3 个答案:

答案 0 :(得分:1)

如果它没有通过 cronjob 运行但是通过命令它可以正常工作那么可以有两个原因

1)您从未将文件可执行文件,您可以使用命令解析我的文件

sudo chmod +x filename 

2)你的路径不正确,找到绝对路径你可以使用命令

realpath(filename)

如果尚未安装 realpath ,它会提及如何安装它的命令

通过检查这些点,它应该可以正常工作。

答案 1 :(得分:0)

crontab的PATH与shell中的不同。

确保在crontab中定义PATH,其中包含脚本所需的所有内容。

此外,请确保脚本以指向所需shell的有效#!标记开头。

或者,使用脚本中所有命令的完整路径。

答案 2 :(得分:0)

正如其他人所说,我的赌注是错误配置的路径。试着把它放到你的路上:

“* * * * * /media/statusshellscript.sh”

检查输出文件以在脚本运行时查看PATH。而不是在crontab中定义PATH,只需在脚本中定义它。