zeroblue2005
Goto Top

Mit Shell Skript PHP ausfüheren

Hallo Zusammen,

lacht nicht aber habe ich eben noch nie gemacht...

ich möchte eine Sh Datei haben die folgendes autom. auf einem Debian als Task ausführt:

#!/bin/bash
sudo -u www-data /var/www/owncloud/php occ files:scan test.user

Jetzt war mein Ansatz das Ganze in eine*.sh Datei zu packen, aber irgendwie führt er das nicht aus.
Ich denke, irgendwas mache ich falsch!

Ich mache ein Terminal auf und gehe in den Pfad wo der Script liegt. In meinem Fall /bin/ dann schreibe ich:

sh ~/rescanoc.sh 

als Ergebnis kommt:
sh: 0: Can't open /root/rescanoc.sh  

Was mache ich falsch?

Content-Key: 352213

Url: https://administrator.de/contentid/352213

Ausgedruckt am: 19.03.2024 um 08:03 Uhr

Mitglied: falscher-sperrstatus
Lösung falscher-sperrstatus 19.10.2017 aktualisiert um 17:49:10 Uhr
Goto Top
imho und ohne Gewähr:
php -v /path/to/file.php

ach und
chmod +x file.sh
Mitglied: zeroblue2005
zeroblue2005 19.10.2017 um 17:59:13 Uhr
Goto Top
Hi,

ausführbar hatte ich die Datei schon gemacht! Aber die Zeile 1 zeigt doch nur die PHP-Version an ich möchte das ganze aber via sh ausführen die Datei heisst ja auch rescanoc.sh und liegt im Ordner /bin/
Mitglied: Arano
Lösung Arano 19.10.2017 aktualisiert um 19:08:15 Uhr
Goto Top
Hallo zeroblue,

Was du falsch machst !?
Mit "~/" referenzierst du das Home-Verzeichnis deines Benutzers mit dem die das Kommando ausführst.
Da du dich offensichtlich als "root" eingloggt hast wird aus "~/script.sh" -> "/root/script.sh" und das erkennst du nun auch an der Fehlermeldung die eben diese Datei nicht finden/öffnen kann.

Du willst die Datei im aktuellen Verzeichnis ausführten, dann verwende anstelle der Tilde den Punkt.
sh ./script.sh

Wenn die Datei eine Shebang-Zeile enthält (Zeile 1 = #!/pfad/zu/parser) kann sie auch direkt ausgeführt werden. (Wenn die Datei ausführbar ist)
./script.sh


~Arano
Mitglied: zeroblue2005
zeroblue2005 19.10.2017 aktualisiert um 19:30:56 Uhr
Goto Top
Habe es hinbekommen, mit:

#!/bin/bash
cd /var/www/owncloud/
sudo -u www-data php occ files:scan test.user
exit

Ich wusste nicht bei einer Shell Script unsichtbar das Ding ausgführt wird, habe dann -x das sichtbar gemacht, sorry für die dumme Fragen, musste mich erst mal darei denken face-wink
Mitglied: Arano
Lösung Arano 19.10.2017 um 19:41:13 Uhr
Goto Top
Na schön das es läuft.

...aber "x" hat nichts mit sichbar oder unsichtbar zu tun...
http://www.shellbefehle.de/befehle/chmod/


~Arano
Mitglied: falscher-sperrstatus
Lösung falscher-sperrstatus 19.10.2017 um 20:52:31 Uhr
Goto Top
War wohl ein zu langer Tag...face-smile

Streich das -v, das php hat dir aber wohl dennoch gefehlt + der Pfad...