Apache von Radislav: cronjob möglich?

tommo

Neuer User
Mitglied seit
9 Jan 2012
Beiträge
13
Punkte für Reaktionen
0
Punkte
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
 
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.
 
Zuletzt bearbeitet:
@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
 
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ß
R@d
 
Zuletzt bearbeitet:
Hi R@d,

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
 
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.
 
Zuletzt bearbeitet:
aha :)

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

Sorry für die doofen Fragen...

Gruß,
Tom
 
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.
 
Zuletzt bearbeitet:
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
 
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.
 
Zuletzt bearbeitet:
o.k. vielen Dank schon mal, ich werd's morgen mal testen...

Gruß,
Tom
 
@radislav: wie bitte?? Was muss ich erstellen?
 
crontab in /var/tmp oder halt auch irgendwo anderes, wo es dir gefällt
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.