我无法通过crontab运行此简单脚本,该脚本在我直接运行它的地方运行良好。 我有一个类似的MySQL脚本,是从中复制的,只是将MySQL更改为apache2。但是原始的一个可行,但这一点不可行。直接运行就可以了。
ExAws.S3.presigned_url(
ex_s3_client,
:post,
"profile-pictures",
nil,
presign_options
)
crontab:
UP=$(pgrep apache2 | wc -l);
if [ "$UP" -eq 0 ];
then
sudo /usr/sbin/service apache2 restart
fi
答案 0 :(得分:1)
根据您发布的crontab,我猜您在两个脚本中使用的是同一用户? 但是您的脚本不是首先以shabang开头,并且它们必须是可执行的并且可读的。
如果您不执行或无法执行它们,请更改作业以使用正确的解释器运行脚本...
*/2 * * * * sh /var/server-scripts/apacheStatus.sh > /dev/null 2>&1
好吧,通过我正确地> /dev/null 2>$1
删除> /dev/null 2>&1
(是错字?)解决了问题
最好写一个脚本:
#!/bin/sh
if [ $(pgrep -c apache2) -eq 0 ]
then
/usr/sbin/service apache2 restart
fi