.titleBar { margin-bottom: 5px!important; }

Apache von Radislav: cronjob möglich?

Dieses Thema im Forum "FRITZ!Box Fon: Modifikationen" wurde erstellt von tommo, 12 Jan. 2012.

  1. tommo

    tommo Neuer User

    Registriert seit:
    9 Jan. 2012
    Beiträge:
    13
    Zustimmungen:
    0
    Punkte für Erfolge:
    1
    Hallo,

    ich habe es dank der Anleitung von Radislav geschafft, Apache auf der 7270 zu installieren (ohne Freetz).

    Ist es möglich, dort Cronjobs zu erstellen und wenn ja, wie?

    Danke,
    Tom
     
  2. Bejobe

    Bejobe Neuer User

    Registriert seit:
    19 Mai 2005
    Beiträge:
    163
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    #2 Bejobe, 12 Jan. 2012
    Zuletzt bearbeitet: 12 Jan. 2012
    Es gibt irgendwo ein crond für FB. Aber genauso einfach geht es mit kleinen Scripten, die nach "sleep wartesekunden" die entsprechenen Aufgaben selbst direkt oder durch Starten von anderen Scripten druchführen. Alle Scripte, auch die, die durch "sleep" als crons laufen, müssen hierbei mit script.sh & unabhängig laufend gemacht werden.

    Bejobe

    [1] Ein Start zu einer bestimmten Uhrzeit ist zum Beispiel mit einerm Script mit einer einminüten sleep-schleife möglich, in der die Uhrzeit ausgewertet wird.
     
  3. tommo

    tommo Neuer User

    Registriert seit:
    9 Jan. 2012
    Beiträge:
    13
    Zustimmungen:
    0
    Punkte für Erfolge:
    1
    @Bejobe:
    Danke für Dein Antwort.
    Hast Du bitte ein Bespiel für mich, in dem eine PHP Datei alle 60 Sec. aufgerufen wird?
    Wohin muss ich die Datei den speichern?

    Gruß,
    Tom
     
  4. radislav

    radislav Aktives Mitglied

    Registriert seit:
    15 März 2008
    Beiträge:
    950
    Zustimmungen:
    0
    Punkte für Erfolge:
    16
    #4 radislav, 12 Jan. 2012
    Zuletzt bearbeitet: 12 Jan. 2012
    hallo!

    /var/tmp/crontab (erstellen):
    Code:
    */1   *   *   *  *   /var/tmp/script.sh
    
    /var/tmp/script.sh (erstellen):
    Code:
    #!/bin/sh
    wget http://127.0.0.1/deineSeite.php
    
    Starten (auch z.B. in debug.cfg):
    crond /var/tmp/crontab & # oder so änlich

    fallst crond in busybox nicht dabei ist, brauchts du dann eine andere busybox, z.B. wieder von meiner homepage
    alles NICHT GETESTET.

    viel spaß
    [email protected]
     
  5. tommo

    tommo Neuer User

    Registriert seit:
    9 Jan. 2012
    Beiträge:
    13
    Zustimmungen:
    0
    Punkte für Erfolge:
    1
    Hi [email protected],

    in der var/tmp hab ichleider kein crontab :-(

    Welche Deiner Busyboxes würdest Du mir denn empfehlen (für die FRITZ!Box Fon WLAN 7270 v2, Firmware-Version 54.05.05)?

    Gruß,
    Tom
     
  6. Bejobe

    Bejobe Neuer User

    Registriert seit:
    19 Mai 2005
    Beiträge:
    163
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    #6 Bejobe, 12 Jan. 2012
    Zuletzt bearbeitet: 12 Jan. 2012
    Wenn man etwas alle 60 Sekunden auf der FB aufrufen will, braucht man dafür garantiert kein crond.

    Vor allem, wenn man dafür eine riesige busybox nachladen muss, die auf der - sowieso schon mit apache vollgestopften - FB Platz verbraucht. Es reicht ein script mit folgendem Inhalt:
    Code:
    #!/bin/sh
    trap '' SIGHUP
    while [ 1 ]; do
      sleep 60
      wget http://127.0.0.1/deineSeite.php
    done
    
    Bejobe

    PS.: Sleep braucht keine Prozessor-Zeit. Die Last für die FB ist null.
     
  7. tommo

    tommo Neuer User

    Registriert seit:
    9 Jan. 2012
    Beiträge:
    13
    Zustimmungen:
    0
    Punkte für Erfolge:
    1
    aha :)

    und wo muss die Datei hin und wie starte ich die...

    Sorry für die doofen Fragen...

    Gruß,
    Tom
     
  8. Bejobe

    Bejobe Neuer User

    Registriert seit:
    19 Mai 2005
    Beiträge:
    163
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    #8 Bejobe, 12 Jan. 2012
    Zuletzt bearbeitet: 12 Jan. 2012
    Wie lädst du denn den apache Server? Dort gehört auch der Aufruf des Scripts hin. Erzeugen/kopieren/starten kannst du das Script (beispielsweise: script.sh) von vielen üblichen Orten (intern: /var/script.sh oder /var/tmp/script.sh extern: /var/media/ftp/DEINUSBSTICK/script.sh).

    Gestartet wird immer mit "&" (im PC-DOS-Bereich hätte man gesagt, das Script wird durch das & "resident gemacht"...). Falls das script intern liegen soll muss es vorher noch ausführbar gemacht werden mit chmod +x /var/script.sh bzw. chmod +x /var/tmp/script.sh

    Bejobe

    Einige Hinweise noch für beginners:
    - ein Aufruf im gleichen Verzeichnis stehend mit script.sh klappt nicht, es muss mit ./script.sh aufgerufen werden.
    - Das Script muss, falls es intern liegt bei jedem Reboot neu erzeugt werden.
    - Einfacher ist es da script extern auf einem UBS-Stick zu haben, weil es dauerhaft dort bleibt.
    - Beim Erzeugen eines Scripts mit einem Editor auf dem PC muss im Unix-Format gespeichert werden, wg des Zeilenende-Zeichens. Es gibt sonst Fehlermeldungen beim Lauf des Scripts.

    Eine Bemerkung zum Schluss: Was könnte man jede Minute intern akualisieren wollen? Zum Beispiel die Anzeige der zugeteilen IP? Dafür ware eine Löung mit Apache völlig übertrieben. Ansonsten: Wenn nur etwas mit php gemacht werden soll, braucht man den apache nicht, sondern könnte das auch mit php selbst machen.
     
  9. tommo

    tommo Neuer User

    Registriert seit:
    9 Jan. 2012
    Beiträge:
    13
    Zustimmungen:
    0
    Punkte für Erfolge:
    1
    Den Apatchen lade ich mit folgnden Code in der Datei "/var/flash/debug.cfg" :
    Code:
    HDD='Generic-FlashDisk-01'     
    HDD_ABSOLUT='/var/media/ftp/'$HDD
    
    while ! [ -d $HDD_ABSOLUT ] ; do sleep 5; done
    
    $HDD_ABSOLUT/apache/bin/apache -f $HDD_ABSOLUT/apache/conf/apache.conf
    
    Ich erstelle also eine Datei "script.sh" mit diesem Inhalt
    Code:
    #!/bin/sh
    trap '' SIGHUP
    while [ 1 ]; do
      sleep 60
      wget http://127.0.0.1/abfrage.php
    done
    und lege sie in irgendein Verzeichnis (z.B. auch nach apache/bin) und in der debug.cfg ergänze ich folgendes:
    Code:
    $HDD_ABSOLUT/apache/bin/script.sh
    Richtig :confused:

    Tom
     
  10. Bejobe

    Bejobe Neuer User

    Registriert seit:
    19 Mai 2005
    Beiträge:
    163
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    #10 Bejobe, 12 Jan. 2012
    Zuletzt bearbeitet: 12 Jan. 2012
    Eriwan. Im Prinzip ja, aber es fehlt das "&", also: $HDD_ABSOLUT/apache/bin/script.sh &

    Bejobe

    PS.: Ich weiss nicht ganz genau, ob du das "&" auch hier angeben muss, damit es dort nicht hängen bleibt, aber schaden kann es nichts:

    $HDD_ABSOLUT/apache/bin/apache -f $HDD_ABSOLUT/apache/conf/apache.conf &

    Für das Basis-Debugging (dh. "kommt es überhaupt an der Zeile vorbei, und wenn ja wiie oft?") fügst du temporär mal - locker verteilt - Zeilen diesen Typs in deine Scripte ein (mit n = Ziffern):

    echo "n" >> /var/media/ftp/Generic-FlashDisk-01/apache/scriptdbg.log

    (Später auskommentieren mit: #echo "n" >> /var/media/ftp/Generic-FlashDisk-01/apache/scriptdbg.log)

    B.
     
  11. tommo

    tommo Neuer User

    Registriert seit:
    9 Jan. 2012
    Beiträge:
    13
    Zustimmungen:
    0
    Punkte für Erfolge:
    1
    o.k. vielen Dank schon mal, ich werd's morgen mal testen...

    Gruß,
    Tom
     
  12. radislav

    radislav Aktives Mitglied

    Registriert seit:
    15 März 2008
    Beiträge:
    950
    Zustimmungen:
    0
    Punkte für Erfolge:
    16
    ich vergaß: ERSTELLEN :blonk:
     
  13. tommo

    tommo Neuer User

    Registriert seit:
    9 Jan. 2012
    Beiträge:
    13
    Zustimmungen:
    0
    Punkte für Erfolge:
    1
    @radislav: wie bitte?? Was muss ich erstellen?
     
  14. radislav

    radislav Aktives Mitglied

    Registriert seit:
    15 März 2008
    Beiträge:
    950
    Zustimmungen:
    0
    Punkte für Erfolge:
    16
    crontab in /var/tmp oder halt auch irgendwo anderes, wo es dir gefällt