it-swarm.com.de

Erlaubnis mit bash.sh abgelehnt, um cron auszuführen

Wie man hier ein Cron mit Bash-Skript ausführt. Was ich wie folgt gemacht habe und hier mit Fehlern. Ich möchte wissen, wie man das in Ubuntu macht. Ich war jetzt damit beschäftigt 

bash.sh datei 

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

In Crontab -e

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

Aber jetzt bekomme ich folgenden Fehler

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

Wie werde ich das beheben? Was habe ich falsch gemacht ? 

9
underscore

sie können auch folgende Lösung ausprobieren:

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

Das Problem könnte sein, dass Ihr Benutzer nicht über die Rechte zum Ausführen der Datei verfügt.

Zuerst setzen Sie das Ausführungsflag für Ihr Skript

chmod +x /home/samitha/bash.sh

Dann sollten Sie die Berechtigungen für die PHP-Datei mit überprüfen

ls -lah /var/www/Controller

Wenn weder Ihre Benutzergruppe noch Ihr Benutzername angezeigt wird, müssen Sie das Skript mit Superuser-Rechten ausführen oder seine Berechtigungen ändern.

Der erste Weg wäre Ihre Eingabe

Sudo crontab -e

oder der zweite wäre (was ich nicht empfehlen würde, da jeder das Skript ausführen könnte, indem er Ihre Site aufruft)

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

Der Benutzer, der diesen cron ausführt (derjenige, der cron -e ausführt) hat nicht die richtigen Rechte zum Ausführen dieses Skripts. Das heißt: Entweder fehlt dem Skript das Ausführungsflag, oder es ist nicht möglich, es zu erreichen, weil einigen seiner Vorgängerverzeichnisse das Ausführungsflag fehlt.

  • Datei muss ausführbar sein (@see chmod)
  • Alle übergeordneten Verzeichnisse müssen das Ausführungsflag haben (@see chmod).
  • Wenn crontab von einem anderen Benutzer ausgeführt wird, d. H. Nicht dem Eigentümer, hat dieser Benutzer möglicherweise keine Ausführungsrechte. (@see chown)
0
Hyperc0der