无法使用crontab运行脚本

时间:2020-04-04 12:44:19

标签: bash ubuntu cron

我无法通过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

1 个答案:

答案 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