Benutzerdefiniertes Skript alle 10 Minuten ausführen

Status
Für weitere Antworten geschlossen.

fraubi

Benutzer
Registriert
25. Nov. 2011
Beiträge
605
Reaktionspunkte
0
Punkte
42
Hallo zusammen,

ich habe im Aufgabenplaner meiner DS713+ ein benutzerdefiniertes Skript (rsync) angelegt. Allerdings kann man dieses über die vorhandenen Einstellungsmöglichkeiten nur jede Stunde ausführen. Das Skript müsste bei mir aber alle 10 Minuten laufen. Gibt es die Möglichkeit, dieses irgendwo einzustellen ?

Danke für jeden Tipp
Fraubi
 
Wenn Du Dich ein wenig mit Linux auskennst, kannst Du per ssh/telnet auf die Konsole Deiner 713+ gehen und Dein Skript in /etc/crontab eintragen. Die cronjobs kann man minütlich steuern.
 
Und ansonsten gibt's dafür auch ein Package, den 'Cronjob Editor'.
 
Danke für die Info.

Die Datei /etc/crontab hab ich gefunden, doch mir ist der Aufbau nicht ganz klar. Gibt es dazu irgendwo eine weiterführende Info, was ich dort wie einzutragen hätte ?

Grüße
Fraubi
 
He super, vielen Dank für den Link. Ich hätte nicht so genau gewusst, wonach ich überhaupt hätte suchen sollen ;-)
 
Also, ich hab das mal getestet, aber irgendwas mache ich falsch :

Folgende Ausgangssituation :

- es gibt auf meiner DS713+ einen Order EXCEL, dessen Inhalt soll jede Minute mit dem Ordner DROPBOX mittels rsync abgeglichen werden

Das Skript für rsync heisst 'excel.sh' und liegt im Ordner 'skripte'. Der Inhalt des Skriptes sieht wie folgt aus :

rsync -avz --delete /volume1/Excel/ /volume1/Dropbox/"Excel VBA Dateien"

Das Skript selbst läuft wenn ich es im Aufgabenplaner als benutzerdefiniertes Skript eintrage.

In der etc/crontab habe ich folgende Zeile ergänzt

1 * * * * root /volume1/skripte/excel.sh

Das bedeutet aus meiner Sicht, dass der Job 'excel.sh' im Verzeichnis /volume1/skripte jede Minute ausgeführt wird.

Leider passiert da nix. Kann es sein, dass ich der Datei excel.sh noch irgendwelche Berechtigungen für Lesen, Schreiben, Ausführen etc. geben muss ?

Ich stehe irgendwie gerade auf dem Schlauch...................

Gruß und danke für jeden Tipp
Fraubi
 
Auf jeden Fall muss aus der crontab-Zeile root raus. Probiere es bitte so nochmal. Wenn das nicht reicht, poste hier bitte einmal die Ausgabe von "ls -l /volume1/skripte/excel.sh" (ohne Anführungsstriche).
 
Ich hoffe ich hab das jetzt richtig verstanden....

Root habe ich aus der Crontab rausgenommen, dort steht jetzt nur noch

* * * * * sh /volume1/skripte/excel.sh

- Oder hätte ich das Wort Root durch einen * ersetzen müssen ?
- Ist das mit dem * am Anfang ok, wenn die Ausführung jede Minute gewünscht wird ?

Das Ergebnis von ls -l /volume1/skripte/excel.sh ist

DS713> ls -l /volume1/skripte/excel.sh
---x--x--x 1 root root 72 Mar 16 11:46 /volume1/skripte/excel.sh

Wenn ich mich unter Putty als Root anmelde, dann läuft das Skript excel.sh normal durch. Melde ich mich nur als ADMIN mit Putty an, dann geht es nicht.
Muss ich evtl. bestimmte Rechte für die Ausführung des Skriptes excel.sh als normaler User setzen ?

Danke für die Hilfe
Fraubi
 
* * * * * sh /volume1/skripte/excel.sh

Nee, Du hast "root" nicht 'rausgenommen, sondern durch "sh" ersetzt. An der Stelle wird aber das Skript erwartet, "sh" muss also weg. Statt des ersten Sterns bitte */1 setzen, das steht für jede Minute. Richtig ist deshalb:

*/1 * * * * /volume1/skripte/excel.sh

Dein Skript hat nicht die richtigen Rechte: Bitte gib einmal "chmod 755 /volume1/skripte/excel.sh" in den Shell ein. Dann sollte "ls -l /volume1/skripte/excel.sh" den folgenden Output erzeugen:

-rwxr-xr-x 1 root root 72 Mar 16 11:46 /volume1/skripte/excel.sh
 
Ok, nu geht es :) War wohl eine gesunde Mischung aus falschem Eintrag in der crontab und den falschen Rechten der Skriptdatei.

Der letzte Trick war dann noch, dass ich noch unter Putty

/usr/syno/sbin/synoservicectl --restart crond

ausführen musste.


Vielen Dank für die Unterstützung................
Fraubi
 
Bei einer Minute ist die Angabe nicht notwendig da es die kleinste Einheit ist und als default für das erste * genommen wird.
Bei einem Systemupdate wird die crontab gerne einmal ohne Nachfrage überschrieben. Wenn also alles läuft wie es soll würde ich mir eine Kopie irgendwo ablegen wo der installer nicht dazwischenfunkt.
 
Funktionieren die "cronjobs" auch wenn die HDD´s im Standby sind ?
 
Ja, aber die Ausführung des Skripts wird die HDD aus dem Standby wecken. Wie es mit dem Deep Sleep steht das einige Synos beherschen weiß ich nicht.
 
Und genau das soll nicht passieren, das die HDD wieder "aufgeweckt" wird.

Ich hab ja erst kürzlich meine DS214 bekommen und bin noch dabei mich zurechtzufinden. Mir scheint es so das für jegliche Funktion der NAS die HDD (´s) laufen müssen weil das Betriebssystem sich komplett dort befindet. Was für ein Nachteil.
Bei den E2-Boxen ist das gottseidank nicht so. Gibt es keine Möglichkeit ein Script oder was auch immer laufen zu lassen/ zu starten wenn die Festplatten schlafen ? Gibt´s ein TMP-Verzeichnis das im RAM liegt, vielleicht ?
 
Ja das OS ist auf den Platten. Es würde ja nicht reichen das das Skript im RAM liegt, es müssen dann auch alle Ressourcen ins RAM die benutzt werden. Technisch könnte man wohl eine RAMDisk einrichten und die Pfade passend umbiegen, aber da frage ich mich dann, welche DS hat für sowas RAM übrig? Ich vermute einmal diese E2 Boxen haben ihr OS auf einem Flash und benutzen die Platten nur zur Datenablage. Bei Synology würde auch eine SSD nichts nützen da das OS über alle Platten gespiegelt abgelegt wird.
 
Hätte nie gedacht das die NAS keinen Flashspeicher haben, jetzt wird mir so einiges klar.
 
Hätte nie gedacht das die NAS keinen Flashspeicher haben, jetzt wird mir so einiges klar.

Das ist so nicht vollstdändig richtig, einen Flashspeicher haben die Synology schon. Dort sind aber nur die ganz tiefliegenden Basissachen drin, sonst könnte man nicht das OS übers Netz auf die Platten einspielen.
 
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