Hilfe bei crontab-Einträgen

Status
Für weitere Antworten geschlossen.

Theo39

Benutzer
Mitglied seit
11. Feb 2017
Beiträge
107
Punkte für Reaktionen
11
Punkte
18
Hallo zusammen,

ich bin heute morgen von einem Rattern meiner Boxen geweckt worden und wollte doch nochmals nachsehen, wann sie was machen und bin dabei auf die folgende Liste gestossen:
root@DiskStation:/etc# more crontab
MAILTO=""
PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/syno/sbin:/usr/syno/bin:/usr/local/sbin:/usr/local/bin
#minute hour mday month wday who command
0 0 1 * * root /usr/syno/bin/syno_disk_health_record
0 3 * * * root /usr/syno/bin/synoschedtask --run id=1
0 5 * * 0 root /usr/syno/bin/synoschedtask --run id=3
0 0 23 * * root /usr/syno/bin/synoschedtask --run id=4
0 3 * * 6 root /usr/syno/bin/synoschedtask --run id=6
0 4 * * 0 root /usr/syno/bin/synoschedtask --run id=7
0,30 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23 * * * root /usr/syno/bin/synoschedtask --run id=5


Ich bin noch nicht voll dahinter gestiegen, wie genau die Einträge zu interpretieren sind, aber jede Stunde scheint es einen Gesundheitscheck zu geben und dann sind da noch 7 weitere Tasks, die irgendwas machen, was ich nicht weiß. Teilweise laufen sie sehr häufig. Wie kann ich herausfinden, was sie machen, damit die drei Boxen (und auch ich) etwas mehr Schlaf bekommen?

Vielen Dank
 

Frogman

Benutzer
Mitglied seit
01. Sep 2012
Beiträge
17.485
Punkte für Reaktionen
8
Punkte
414
Wirf einen Blick in den Aufgabenmanager.
 

AndiHeitzer

Benutzer
Sehr erfahren
Mitglied seit
30. Jun 2015
Beiträge
3.214
Punkte für Reaktionen
503
Punkte
174
Da bist Du ja schon recht weit gekommen.
Hier findest Du raus, was die Einträge bedeuten und wann diese stattfinden:
- https://www.linuxwiki.de/crontab
- https://wiki.ubuntuusers.de/Cron/

Du wirst nun auch merken, dass auf der Syno keine normalen Scripte (DATEI.SH) angestossen werden.

Um zum Beispiel herauszufinden, was sich hinter der 'ID 7' verbirgt, brauchst Du die Konsole.

Also begib Dich auf die Konsole Deiner DS und setze einen 'synoschedtask --get id=7' und dann solltest Du etwa folgendes bekommen:
20190907-144040 - Window.jpg

Der 'Listeneintrag' schaut bei mir so aus:
20190907-144118 - Window.jpg

Dazu genügt es, einen User mit Adminberechtigung zu nutzen, der ROOT ist nicht nötig.
 

AndiHeitzer

Benutzer
Sehr erfahren
Mitglied seit
30. Jun 2015
Beiträge
3.214
Punkte für Reaktionen
503
Punkte
174

Theo39

Benutzer
Mitglied seit
11. Feb 2017
Beiträge
107
Punkte für Reaktionen
11
Punkte
18
Vielen Dank für die Antworten. Das hat mir geholfen und ich habe nun wieder eine weitere Zeile für meine Sammlung.

Die einzelnen Tasks kann ich mir nun erklären, jedoch erscheinen sie mir jetzt als mehr oder weniger unbedenklich. Die Wake-Ups müssen jedoch von etwas anderem kommen, obwohl es schön gepasst hätte.

Anhang anzeigen 49053
 

Frogman

Benutzer
Mitglied seit
01. Sep 2012
Beiträge
17.485
Punkte für Reaktionen
8
Punkte
414

PsychoHH

Benutzer
Mitglied seit
03. Jul 2013
Beiträge
2.967
Punkte für Reaktionen
4
Punkte
78
Rich (BBCode):
for i in $(grep -o "/usr/syno/bin/synoschedtask --run id=.*" /etc/crontab | sed 's#.*=##'); do /usr/syno/bin/synoschedtask --get iD="$i"; done
 

wireless-dj

Benutzer
Mitglied seit
01. Apr 2012
Beiträge
38
Punkte für Reaktionen
0
Punkte
6
Moin,

Ich hänge mich hier mal mir an, auch wenn der Thread schon ein paar Tage alt ist.

Ich versuche verzweifelt, einen PHP-Cronjob zu erstellen, aber egal wie - er wird nicht ausgeführt.

Im /volume1/web/ liegt eine PHP-Datei.
Diese soll mittels Cronjob automatisch ausgeführt werden.

Entweder, es scheitert am Pfad, oder an der Ausführbarkeit, oder, oder, oder.
Egal wie ich im Aufgabenplaner diese Aufgabe formuliere, sie wird nicht ausgeführt.

DSM ist aktuell, als PHP ist 5.6 im Einsatz.

Kann mir da jemand bitte helfen?

Danke & Gruß,

Volker
 

Svandroid

Benutzer
Mitglied seit
07. Jan 2020
Beiträge
2
Punkte für Reaktionen
0
Punkte
1
Hallo Volker,

hier mal als Beispiel, wie ich einen (von zwei) Job(s) für HumHub im Aufgabenplaner angelegt habe, erkennbar mit PHP 7.3:
/usr/local/bin/php73 /volume1/web/humhub/protected/yii queue/run

Nach meinem Verständnis sollte in Deinem Fall funktionieren
/usr/local/bin/php56 /volume1/web/beispieldatei.php

Wenn Du im Aufgabenplaner angibst, dass die Ausgabeergebnisse gespeichert werden sollen, wird im von Dir ausgewählten Ordner automatisch ein Ordner »synoscheduler« angelegt, in dem die Infos gespeichert werden. Falls es nicht klappt, hilft das sicher, um den Fehler eingrenzen zu können.
Bildschirmfoto 2020-01-15 um 14.40.07.png

Viel Erfolg!
 

wireless-dj

Benutzer
Mitglied seit
01. Apr 2012
Beiträge
38
Punkte für Reaktionen
0
Punkte
6
Hallo,

vielen Dank für die ausführliche Erklärung.
Das scheint weiter zu helfen!

Im output.log wird folgendes gesagt:
Fatal error: Call to undefined function curl_init() in /volume1/web/.....

Tja, aber das brauche ich in dem Script. Und nun?
 

Svandroid

Benutzer
Mitglied seit
07. Jan 2020
Beiträge
2
Punkte für Reaktionen
0
Punkte
1
Ist curl im entsprechenden PHP-Profil aktiviert?

Du kannst in der Webstation das passende Profil auswählen und schauen, ob das Häkchen bei curl gesetzt ist. Falls nicht, kann es sein, dass die Webstation neu gestartet werden muss, weiß ich aber nicht. Im Zweifel einfach die Synology neu starten. Falls curl schon aktiviert sein sollte, kann ich nicht weiterhelfen, dann bin ich definitiv raus wegen Planlosigkeit. :)

Bildschirmfoto 2020-01-15 um 15.01.33.png
 

wireless-dj

Benutzer
Mitglied seit
01. Apr 2012
Beiträge
38
Punkte für Reaktionen
0
Punkte
6
Ja, ist bereits aktiviert.
Wenn ich das so im Browser aufrufe, funktioniert es ja.

Vielleicht erbarmt sich ja sonst jemand?

Danke & Gruß,

Volker
 

goetz

Super-Moderator
Teammitglied
Sehr erfahren
Mitglied seit
18. Mrz 2009
Beiträge
13.998
Punkte für Reaktionen
264
Punkte
373
Hallo,
schau mal was
Rich (BBCode):
/bin/php --re curl
auf der Konsole ausgiebt, kommt not found ist das nicht gut, kommt eine Menge Code dann kannst Du /bin/php benutzen.

Gruß Götz
 

wireless-dj

Benutzer
Mitglied seit
01. Apr 2012
Beiträge
38
Punkte für Reaktionen
0
Punkte
6
Es kommt jede Menge Code!

Und das bedeutet nun was genau?

Danke & Gruß,

Volker
 

goetz

Super-Moderator
Teammitglied
Sehr erfahren
Mitglied seit
18. Mrz 2009
Beiträge
13.998
Punkte für Reaktionen
264
Punkte
373
Hallo,
das bedeutet curl ist vorhanden. Also anstatt
/usr/local/bin/php56 /volume1/web/beispieldatei.php
nimmst Du
/bin/php /volume1/web/beispieldatei.php

Gruß Götz
 

wireless-dj

Benutzer
Mitglied seit
01. Apr 2012
Beiträge
38
Punkte für Reaktionen
0
Punkte
6
Hallo,

Ich Danke Dir für Deine Mühe!
Aber, es will immer noch nicht....!

Diesmal meckert das Log, weil in der PHP-Datei eine Textdatei aufgerufen, und verarbeitet wird...
Das ist mir echt zu hoch. Warum? Was soll das?
Diese Datei wird bei Aufruf der PHP-Datei im Browser korrekt gefunden und korrekt ohne Warnings verarbeitet:


PHP Warning: fopen(../data/2020.1.15-stromlog.txt): failed to open stream: No such file or directory in /volume1/web/datei.php on line 53

Warning: fopen(../data/2020.1.15-stromlog.txt): failed to open stream: No such file or directory in /volume1/web/datei.php on line 53
PHP Warning: fclose() expects parameter 1 to be resource, boolean given in /volume1/web/datei.php on line 54

Warning: fclose() expects parameter 1 to be resource, boolean given in /volume1/web/datei.php on line 54
 

goetz

Super-Moderator
Teammitglied
Sehr erfahren
Mitglied seit
18. Mrz 2009
Beiträge
13.998
Punkte für Reaktionen
264
Punkte
373
Hallo,
mit relativen Pfaden ( ../data/ ) wirst Du mit dem Aufgabenplaner nicht glücklich, der hat nur rudimentäre Umgebungsvariablen. Also überall komplette Pfade benutzen.

Gruß Götz
 

wireless-dj

Benutzer
Mitglied seit
01. Apr 2012
Beiträge
38
Punkte für Reaktionen
0
Punkte
6
Hmm, ok, aber weder mit "/var/services/web/" komme ich dahin, noch mit "volume1/web/",
und mit der kompletten IP-Adresse geht es ebenfalls nicht.

Welchen Pfad muss ich denn im Script angeben?
 

goetz

Super-Moderator
Teammitglied
Sehr erfahren
Mitglied seit
18. Mrz 2009
Beiträge
13.998
Punkte für Reaktionen
264
Punkte
373
Hallo,
irgendwo muß doch das Verzeichnis data liegen, evtl. sogar /volume1/data oder /var/services/data.
find / -name 2020.1.15-stromlog.txt -print

Gruß Götz
 

wireless-dj

Benutzer
Mitglied seit
01. Apr 2012
Beiträge
38
Punkte für Reaktionen
0
Punkte
6
Ja, in volume1/web

Ich glaube, jetzt geht es, ich hatte einen "/" übersehen....
Ich teste nu, Danke erstmal!!!!!!!
 
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