[gelöst] DS214+ Aufgabenplaner führt mein Skript nicht aus

  • Ab sofort steht euch hier im Forum die neue Add-on Verwaltung zur Verfügung – eine zentrale Plattform für alles rund um Erweiterungen und Add-ons für den DSM.

    Damit haben wir einen Ort, an dem Lösungen von Nutzern mit der Community geteilt werden können. Über die Team Funktion können Projekte auch gemeinsam gepflegt werden.

    Was die Add-on Verwaltung kann und wie es funktioniert findet Ihr hier

    Hier geht es zu den Add-ons

Status
Für weitere Antworten geschlossen.

kesandal

Benutzer
Registriert
07. Nov. 2013
Beiträge
31
Reaktionspunkte
0
Punkte
6
Hallo zusammen,

ich habe ein PHP-Skript welches ich täglich um 2 Uhr Nachts ausführen lassen möchte.
Daher habe ich im DSM eine Aufgabe mit den entsprechenden Parametern erstellt.

Einstellungen
Code:
Vorgang: task_name
Benutzer: root
Benutzer- definiertes Skript: /volume1/web/srv/cron.sh

Test mit: Aufgabe markiert -> Klick auf "Ausführen"


mein .sh Skript
Code:
#! /bin/ash

echo "=========$(date)=========" >> bk.log
/usr/bin/php -f /volume1/web/srv/bk.php sync >> bk.log

um Berechtigungsprobleme auszuschließen, habe ich zum Testen einen chmod 777 durchgeführt.

Code:
nas> ls -l
-rwxrwxrwx    1 admin    users           99 Jan  7 12:50 bk.log
-rw-r--r--    1 admin    users         5343 Jan  7 12:26 bk.php
-rwxrwxrwx    1 admin    users          191 Jan  7 12:46 cron.sh

Problem
Das Script wird anscheinend nicht ausgeführt.
Wenn ich auf der Konsole ins Verzeichnichs wechsle und "ash cron.sh" ausführe, wird meine .log-Datei gefüllt.

Weiterer Test
Code:
nas> /tmp/synoschedtask --get

               ID: [4]
             Name: [srv1_backup]
            State: [enabled]
            Owner: [root]
             Type: [daily]
       Start date: [0/0/0]
         Run time: [2]:[0]
          Command: [/volume1/web/srv/cron.sh]
    Last Run Time: Wed Jan  7 12:49:42 2015
           Status: [Success]


Hat jemand von Euch noch eine Idee woran das liegen könnte?

Vielen Dank.
 
Probiere es noch einmal hiermit:

Rich (BBCode):
#!/bin/sh

/bin/echo "=========$(/bin/date)=========" >> /volume1/web/srv/bk.log
/usr/bin/php -f /volume1/web/srv/bk.php sync >> /volume1/web/srv/bk.log

Kurze Erklärung der wichtigsten Änderung: Der Aufgabenplaner führt Dein Skript in einem anderen Kontext aus - nicht in Deiner Usershell mit entsprechender .profile-Konfiguration etc. Es könnte sein, dass Deine Logdatei sogar geschrieben wurde, aber eben lokal in dem Kontext, in dem der Aufgabenplaner Skripte ausführt. Deshalb ist der vollqualifizierte Pfad essentiell.
 
bei Ausführen aus dem Aufgabenplaner heraus muss noch ein sh vor das Skript...
Rich (BBCode):
sh /volume1/web/srv/cron.sh

Stefan
 
Hallo nochmal,

die Kombination aus Euren beiden Antworten brachte die Lösung.

Nun funktioniert alles bestens.

Danke :)
 
Klasse. Was wäre die Welt ohne Teamwork. :)
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat