it-roy-ru.com

Отказано в разрешении bash.sh для запуска cron

Как запустить cron со скриптом bash здесь. Что я сделал следующим образом и здесь с ошибками. Я хочу знать, как это сделать в 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

Как я это исправлю? что я сделал не так? 

9
underscore

вы также можете попробовать следующее решение:

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
11
MLSC

Проблема может быть в том, что у вашего пользователя нет прав на запуск файла.

Сначала вы устанавливаете флаг выполнения для вашего скрипта

chmod +x /home/samitha/bash.sh

Затем вы должны проверить разрешения для файла php с

ls -lah /var/www/Controller

Если ни ваша группа пользователей, ни ваше имя пользователя не отображаются, вы должны запустить скрипт с правами суперпользователя или изменить его разрешения.

Первый способ будет поместить вашу запись в

Sudo crontab -e

или второй будет (что я бы не рекомендовал, так как каждый мог бы выполнить скрипт, позвонив на ваш сайт)

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

Пользователь, выполняющий этот cron (тот, кто выполняет cron -e) не имеет надлежащих прав для выполнения этого скрипта. То есть: либо в сценарии отсутствует флаг выполнения, либо его невозможно достичь, поскольку в некоторых его каталогах-предках отсутствует флаг выполнения.

1
Alex Jurado - Bitendian
  • Файл должен быть исполняемым (@see chmod)
  • Все родительские каталоги должны иметь флаг выполнения (@see chmod)
  • Если crontab запущен другим пользователем, т.е. не владельцем, возможно, у этого пользователя нет прав на выполнение. (см. Чоун)
0
Hyperc0der