Seite 1 von 21 12311 ... LetzteLetzte
Ergebnis 1 bis 10 von 205
  1. #1
    Anwender Avatar von itari
    Registriert seit
    15.05.2008
    Beiträge
    21.902
    Blog-Einträge
    25

    Standard CronJobs - die Alternative

    Nachdem ich gesehen habe, dass die /etc/crontab auf Interesse stößt, hab ich mal ein kleines, funktionierendes Web-Interface dazu gemacht.

    (1) Anlegen eines PHP-Skriptes im Verzeichnis /usr/syno/synoman/phpsrc/cronjobs/cronjobs.php mit folgendem Inhalt:

    Code:
    <?php
    if ($_REQUEST['action'] == 'save') {
      $out='';
      for($r=1;$r<=$_REQUEST['rows'];++$r) 
        if ($_REQUEST['r'.$r.'c0']!='') for($c=0;$c<7;++$c) $out.=$_REQUEST['r'.$r.'c'.$c].($c<6?chr(9):chr(10));
      file_put_contents('/etc/crontab', $out);
      exec('killall crond;crond'); 
      }
    $filearray=file('/etc/crontab');
    $_REQUEST['action'] == '';
    ?>
    <html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>cronjobs</title>
    <style>body,input{font:12px Arial;margin-right:1px;margin-bottom:1px}h3{font-family:Arial}
    body{background-color:#ddf}</style>
    <script>
    function mark(r) {
      var e=document.getElementsByName(r+'c0')[0];
      if (e.value.charAt(0)=='#') 
        for (var i=0;i<7;++i) document.getElementsByName(r+'c'+i)[0].style.color='#444';
      else
        for (var i=0;i<7;++i) document.getElementsByName(r+'c'+i)[0].style.color='#090';
    }
    </script> 
    </head><body><h3>CronJobs</h3>
    <form method="post" action="cronjobs.php">
    <input type="hidden" id="action" name="action" value="">
    <?php
    $r=0;
    foreach($filearray as $rec) {
      $r++; $c=0;$f=explode(chr(9),$rec);
      print '<input title="*|0..59: 8 1,3,5 2-5 * */2" name="r'.$r.'c0" type="text" size="8" '.($r==1?'readonly':'').' value="'.$f[0].'"/>';
      print '<input title="*|0..23: 8 1,3,5 2-5 * */2" name="r'.$r.'c1" type="text" size="7" '.($r==1?'readonly':'').' value="'.$f[1].'"/>';
      print '<input title="*|1..31: 8 1,3,5 2-5 * */2" name="r'.$r.'c2" type="text" size="7" '.($r==1?'readonly':'').' value="'.$f[2].'"/>';
      print '<input title="*|1..12: 8 1,3,5 2-5 * */2" name="r'.$r.'c3" type="text" size="7" '.($r==1?'readonly':'').' value="'.$f[3].'"/>';
      print '<input title="*|0..7: so=0/7 sa=6" name="r'.$r.'c4" type="text" size="7" '.($r==1?'readonly':'').' value="'.$f[4].'"/>';
      print '<input name="r'.$r.'c5" type="text" size="7" '.($r==1?'readonly':'').' value="'.$f[5].'"/>';
      print '<input name="r'.$r.'c6" type="text" size="40" '.($r==1?'readonly':'').' value="'.$f[6].'"/>';
      if ($r>1) {
        print '<script>mark("r'.$r.'")</script>';
    ?>
    <input type="button" value="X" title="delete"
              onclick="for (var i=0;i<7;++i) document.getElementsByName('r<?php print $r ?>c'+i)[0].value=''"/>
    <input type="button" value="#" title="activate / deactivate"
              onclick="var v=document.getElementsByName('r<?php print $r ?>c0')[0];
              if (v.value.charAt(0)!='#') v.value='#'+v.value;else v.value=v.value.substring(1); mark('r<?php print $r ?>')"/>
    <?php }
      print '<br/>';                   
      }
    $rmax=2+$r++;
    for($r;$r<=$rmax;$r++) {
      print '<input title="*|0..59: 8 1,3,5 2-5 * */2" name="r'.$r.'c0" type="text" size="8" value=""/>';
      print '<input title="*|0..23: 8 1,3,5 2-5 * */2" name="r'.$r.'c1" type="text" size="7" value=""/>';
      print '<input title="*|1..31: 8 1,3,5 2-5 * */2" name="r'.$r.'c2" type="text" size="7" value=""/>';
      print '<input title="*|1..12: 8 1,3,5 2-5 * */2" name="r'.$r.'c3" type="text" size="7" value=""/>';
      print '<input title="*|0..7: so=0/7 sa=6" name="r'.$r.'c4" type="text" size="7" value=""/>';
      print '<input name="r'.$r.'c5" type="text" size="7" value=""/>';
      print '<input name="r'.$r.'c6" type="text" size="40" value=""/>';
    ?>
    <input type="button" value="X" title="delete"
              onclick="for (var i=0;i<7;++i) document.getElementsByName('r<?php print $r ?>c'+i)[0].value=''"/>
    <input type="button" value="#" title="activate / deactivate"
              onclick="var v=document.getElementsByName('r<?php print $r ?>c0')[0];
              if (v.value.charAt(0)!='#') v.value='#'+v.value;else v.value=v.value.substring(1); mark('r<?php print $r ?>')"/><br/>
    <?php } ?>
    <input type="hidden" name="rows" value="<?php print --$r ?>"/>
    <input type="button" value="save /etc/crontab & restart crond" style="margin-top:6px" 
    onclick="document.getElementById('action').value='save';submit()"/>
    </form></body></html>
    (2) Test mit https://Name_des_DS:5001/phpsrc/cronjobs/cronjobs.php

    (3) Integration als 3rd-party-apps: Anlegen der Datei /usr/syno/synoman/webman/3rdparty/cronjobs/application.cfg mit folgendem Inhalt:

    Code:
    text = cronjobs
    description = cronjobs
    type = embedded
    path = /phpsrc/cronjobs/cronjobs.php
    (4) DS Manager neu aufrufen und testen.

    Funktionsweise:
    Skript lädt /etc/crontab und zeigt den Inhalte an. Erst wenn "save /etc/crontab & restart crond" gedrückt wird, wird die komplette Datei /etc/crontab mit den neuen Inhalten überschrieben. Danach der crond gestoppt und wieder gestartet.

    Grüne Zeilen = aktive Jobs
    Graue Zeilen = deaktivierte Jobs
    Wenn man mit dem Cursor über Zellen streicht, dann gibt es ein wenig Hilfe.
    X = löscht den Zeileninhalt und wird dann auch nicht mehr in die Datei gespeichert
    # = kommentiert die Zeile aus (deaktiviert den Job, wenn zurückgeschrieben)
    Es werden immer am Ende 2 Leerzeilen angezeigt für neue Jobs. Wenn man noch mehr Zeilen erfassen will, dann "save ..." und schon sind weitere 2 Leerzeilen da.

    Hier das obligatorische Bildchen:
    Angehängte Grafiken Angehängte Grafiken
    207+ Basic(2x500) [1618] | 509+ Basic(1x500,4x2000) [2166] | 2411+ Basic-SSD(50), Raid-5(4x2000), SHR(3x750+1x1000+2x1500) [2166]

    Synology-Kontakt-Formular
    Come to the dark side, we have cookies!

  2. #2
    Moderator Avatar von DSL-Hexe
    Registriert seit
    01.04.2008
    Beiträge
    642
    Blog-Einträge
    4

    Standard

    Klasse das werde ich morgen probieren.
    DS1517+ | 16Gig Version | 5x 10TB WD Red | DSM 6.2

  3. #3

    Standard

    @itari

    Du hast in letzter Zeit hier im Forum verschiedene interessante Vorschläge für die Erweiterung der Synology Stations gemacht. Könntest du diese nicht auch auf einer eigenen Website zusammenfassen, damit man diese bei Bedarf nicht hier mühsam zusammen suchen muss?

    Mit der Cronjob-Tabelle stellst du eine Möglichkeit zur Verfügung, die ich auch bei einzelnen professionellen Hosting-Firmen immer noch vermisse. Gratulation und vielen Dank.

  4. #4
    Anwender Avatar von itari
    Registriert seit
    15.05.2008
    Beiträge
    21.902
    Blog-Einträge
    25

    Standard

    Zitat Zitat von flicflac Beitrag anzeigen
    verschiedene interessante Vorschläge für die Erweiterung der Synology Stations gemacht. Könntest du diese nicht auch auf einer eigenen Website zusammenfassen, damit man diese bei Bedarf nicht hier mühsam zusammen suchen muss?
    @flicflac, danke für die Blumen

    genau genommen bastel ich ja keine Erweiterungen der DS. Die von mir eingesetzten Kommandos/Programme usw. sind ja alle bereits da bzw. lassen sich durch ipkg installieren. Was ich hier mache, ist lediglich ein Kombinieren dieser Programme, so dass sie 'hübsch' auf der Weboberfläche des Disk Station Managers aussehen. Wenn du das auch so siehst, dann kannst du dir die Skripte anschauen, Ideen sammeln und vielleicht selbst auch so etwas basteln. Das würde mir gefallen, und ich würde deine Mühe dann auch gerne würdigen . Aber meine paar Skripte auf einer eigenen Webseite, ich glaube, dass lohnt sich nicht wirklich.
    207+ Basic(2x500) [1618] | 509+ Basic(1x500,4x2000) [2166] | 2411+ Basic-SSD(50), Raid-5(4x2000), SHR(3x750+1x1000+2x1500) [2166]

    Synology-Kontakt-Formular
    Come to the dark side, we have cookies!

  5. #5
    Anwender
    Registriert seit
    28.05.2008
    Beiträge
    323

    Standard

    Super, so ein Teil brauche ich, vielen Dank!
    Werde das testen, sobald ich wieder an meiner DS bin.
    Habe eine umfangreiche crontab, allerdings auch mit vielen Kommentaren und Leerzeilen. Was passiert mit diesen Zeilen? Bleiben die unverändert erhalten, oder werden diese gelöscht/modifiziert?
    Vielen Dank!
    Gruss
    Juergen

    Synology DS-107+ 128MB RAM (Firmware: DSM 2.0-0717); HDD-intern: Samsung HD103UJ 1TB 32MB (Hibernation ok); HDD-extern (eSATA): Fantec DB-339US2 + Samsung HD103UJ 1TB 32MB (Hibernation ok); Gigabit Switch D-Link DGS-1005D (arbeitet nicht mit jeder Netzwerkkarte zusammen); Terratec SoundSystem Aureon Dual USB (mit FW 0717 Lautstärkeeinstellung mit Fernsteuerung endlich i.O); Synology Remote (Fernsteuerung); streamripper
    (Dank an bluething für die Kompatibilitätsaussagen)

    DS215j + 2* WD60EFRX

  6. #6
    Moderator Avatar von DSL-Hexe
    Registriert seit
    01.04.2008
    Beiträge
    642
    Blog-Einträge
    4

    Standard

    Zitat Zitat von flicflac Beitrag anzeigen
    @itari
    Du hast in letzter Zeit hier im Forum verschiedene interessante Vorschläge für die Erweiterung der Synology Stations gemacht. Könntest du diese nicht auch auf einer eigenen Website zusammenfassen, damit man diese bei Bedarf nicht hier mühsam zusammen suchen muss?
    Ich muss mich anschliessen mit den Blumen, Klasse Arbeit Itari.

    @flicflac @Admin @Moderatoren
    Du musst bedenken das eine Website und der Speicherplatz Geld kostet und deshalb finde ich das hier mal der Admin etliche Beiträge von Itari Sticky setzen sollte oder ein extra Bereich "3rdParty Application" aufmachen sollte und dorthin sollten die Scripte von Itary wandern.
    DS1517+ | 16Gig Version | 5x 10TB WD Red | DSM 6.2

  7. #7

    Standard

    Aber meine paar Skripte auf einer eigenen Webseite, ich glaube, dass lohnt sich nicht wirklich.
    @itari;

    Sag mal, bist du einfach nur bescheiden, oder bist du bereits dermassen abgebrüht, das du einfach nur das Potenzial deiner Posts nicht mehr erkennst?

    Ich muss schon sagen,flicflacs Tutorials haben mir erst die Augen geöffnet, denke mal, die hat sich hier jeder schonmal reingezogen.Und ich sortiere meine rss-Newsfeeds immer nach deinem Usernamen...
    Ausserdem ist das Arbeiten mit HyperText für Verwöhnte Desktopuser ziemlich suspekt...auf Textbasis, so ganz ohne Sanduhr?

    Ich vermisse hier in diesem Forum sowieso so etwas wie einen generellen ROTEN FADEN! Klar, man findet hier Antworten auf (fast) alle Fragen, allerdings muss man die sich mühselig zusammensuchen, und wehe, man weiss nicht, wie man Fragen muss...

    Ich hätte da einen Vorschlag;Man könnte ja so etwas wie eine DS-ServerBibel oder "DS-Knigge" einrichten und als "Sticky" oben in den einzelnen Foren Verankern...achja...-LIEBE MODERATOREN-Warum gibt es hier eigentlich keine "Stickies?"
    Geändert von .:@rpy:. (13.07.2008 um 10:34 Uhr)
    ---------------------------------------------------------------------------------------------------------
    ...und so sieht mein Blog auf meiner Box aus, bei Gefallen bitte auf die Werbung klicken,das hilft mir ungemeinhttp://www.lachmeister.de/images/smi...r/tiere_29.gif

    @rpys SmartPhone-Blog

  8. #8
    Moderator Avatar von DSL-Hexe
    Registriert seit
    01.04.2008
    Beiträge
    642
    Blog-Einträge
    4

    Standard

    Ist diese Meldung im telnet i.O.?
    Code:
    NAS-Server> sh /etc/crontab
    /etc/crontab: /etc/crontab: 2: */5: not found
    Zitat Zitat von .:@rpy:.
    Ich hätte da einen Vorschlag;Man könnte ja so etwas wie eine DS-ServerBibel oder "DS-Knigge" einrichten und als "Sticky" oben in den einzelnen Foren Verankern...achja...-LIEBE MODERATOREN-Warum gibt es hier eigentlich keine "Stickies?
    Werde mal ganz vorsichtig anfragen.
    DS1517+ | 16Gig Version | 5x 10TB WD Red | DSM 6.2

  9. #9
    Anwender Avatar von itari
    Registriert seit
    15.05.2008
    Beiträge
    21.902
    Blog-Einträge
    25

    Standard

    Zitat Zitat von juergen@net Beitrag anzeigen
    Habe eine umfangreiche crontab, allerdings auch mit vielen Kommentaren und Leerzeilen. Was passiert mit diesen Zeilen? Bleiben die unverändert erhalten, oder werden diese gelöscht/modifiziert?
    Ganz leere Zeilen werden gelöscht. Zeilen die einen # (Hash) am Anfang haben, bleiben drin, werden aber nicht ausgeführt (macht der crond immer so). Ansonsten bleibt alles so, wie es war, bis auf deine Änderungen. Tabs sind allerdings zwingend!!!!

    Tipp: änder mal im Skript die Zeile, wo die Datei ausgegeben wird: statt /etc/crontab mach /etc/crontab1. Dann kannst genau zwischen den beiden Dateien vergleichen, was passiert ist.

    itari
    207+ Basic(2x500) [1618] | 509+ Basic(1x500,4x2000) [2166] | 2411+ Basic-SSD(50), Raid-5(4x2000), SHR(3x750+1x1000+2x1500) [2166]

    Synology-Kontakt-Formular
    Come to the dark side, we have cookies!

  10. #10
    Anwender Avatar von itari
    Registriert seit
    15.05.2008
    Beiträge
    21.902
    Blog-Einträge
    25

    Standard

    Zitat Zitat von DSL-Hexe Beitrag anzeigen
    Ist diese Meldung im telnet i.O.?
    Code:
    NAS-Server> sh /etc/crontab
    /etc/crontab: /etc/crontab: 2: */5: not found
    Die /etc/crontab ist kein !!!! Skript, welches man per sh aufruft kann. Sie wird vom crond abgearbeitet. Insofern ist die Fehlermeldung einfach ok, weil es so nicht geht

    Also ändern und dann wird durch den Button der crond gerestartet und dann ein wenig Geduld und schon siehst das Ergebnis ...

    Alles klar Hexchen?

    Gruß itari
    207+ Basic(2x500) [1618] | 509+ Basic(1x500,4x2000) [2166] | 2411+ Basic-SSD(50), Raid-5(4x2000), SHR(3x750+1x1000+2x1500) [2166]

    Synology-Kontakt-Formular
    Come to the dark side, we have cookies!

Seite 1 von 21 12311 ... LetzteLetzte

Ähnliche Themen

  1. cronjobs / crontab auf der 107+
    Von juergen@net im Forum Konfigurationsänderungen
    Antworten: 10
    Letzter Beitrag: 25.06.2012, 23:51
  2. exchangeserver alternative
    Von stamf im Forum Andere 3rd Party Anwendungen
    Antworten: 16
    Letzter Beitrag: 12.11.2008, 00:24
  3. alternative clients für itunes-server
    Von cooky_r im Forum Streaming Multimedia Server / iTunes Server
    Antworten: 0
    Letzter Beitrag: 12.05.2008, 16:30
  4. Alternative zu FTP Port21
    Von tara im Forum FTP-Server
    Antworten: 5
    Letzter Beitrag: 29.09.2007, 12:21

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •