权限被拒绝,bash.sh 运行 cron

2022-08-30 22:11:55

如何在这里使用bash脚本运行cron。我所做的如下,这里有错误。我想知道如何在ubuntu中做到这一点。我现在被它击中了

bash.sh 文件

#!/bin/bash
cd /var/www/Controller
/usr/bin/php post.php

在 crontab -e 中

* * * * * /home/samitha/bash.sh >> /home/samitha/log/cron.log 2>&1

但现在我得到以下错误

/bin/sh: 1: /home/samitha/bash.sh: Permission denied

我将如何修复它?我做错了什么?


答案 1

您也可以尝试以下解决方案:

chmod +x post.php
chmod +x bash.sh
echo "* * * * * /home/samitha/bash.sh >> /home/samitha/log/cron.log 2>&1" >> cronjob

chmod +x cronjob

/etc/init.d/crond start  #redhat based servers like centos
/etc/init.d/cron  start  #debian based servers like ubuntu

crontab cronjob

答案 2

问题可能是您的用户没有执行该文件的权限。

首先,为脚本设置执行标志

chmod +x /home/samitha/bash.sh

然后,您应该检查php文件的权限

ls -lah /var/www/Controller

如果用户组和用户名均未显示,则必须使用超级用户权限运行脚本或更改其权限。

第一种方法是把你的条目放进去

sudo crontab -e

或者第二个是(我不推荐,因为每个人都可以通过调用你的站点来执行脚本)

 chmod a+x /var/www/Controller/post.php

推荐