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
 

Bejobe

Neuer User
Mitglied seit
19 Mai 2005
Beiträge
163
Punkte für Reaktionen
0
Punkte
0
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:

tommo

Neuer User
Mitglied seit
9 Jan 2012
Beiträge
13
Punkte für Reaktionen
0
Punkte
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
 

radislav

Aktives Mitglied
Mitglied seit
15 Mrz 2008
Beiträge
950
Punkte für Reaktionen
0
Punkte
16
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]
 
Zuletzt bearbeitet:

tommo

Neuer User
Mitglied seit
9 Jan 2012
Beiträge
13
Punkte für Reaktionen
0
Punkte
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
 

Bejobe

Neuer User
Mitglied seit
19 Mai 2005
Beiträge
163
Punkte für Reaktionen
0
Punkte
0
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:

tommo

Neuer User
Mitglied seit
9 Jan 2012
Beiträge
13
Punkte für Reaktionen
0
Punkte
1
aha :)

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

Sorry für die doofen Fragen...

Gruß,
Tom
 

Bejobe

Neuer User
Mitglied seit
19 Mai 2005
Beiträge
163
Punkte für Reaktionen
0
Punkte
0
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:

tommo

Neuer User
Mitglied seit
9 Jan 2012
Beiträge
13
Punkte für Reaktionen
0
Punkte
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
 

Bejobe

Neuer User
Mitglied seit
19 Mai 2005
Beiträge
163
Punkte für Reaktionen
0
Punkte
0
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:

tommo

Neuer User
Mitglied seit
9 Jan 2012
Beiträge
13
Punkte für Reaktionen
0
Punkte
1
o.k. vielen Dank schon mal, ich werd's morgen mal testen...

Gruß,
Tom
 

radislav

Aktives Mitglied
Mitglied seit
15 Mrz 2008
Beiträge
950
Punkte für Reaktionen
0
Punkte
16

tommo

Neuer User
Mitglied seit
9 Jan 2012
Beiträge
13
Punkte für Reaktionen
0
Punkte
1
@radislav: wie bitte?? Was muss ich erstellen?
 

radislav

Aktives Mitglied
Mitglied seit
15 Mrz 2008
Beiträge
950
Punkte für Reaktionen
0
Punkte
16
crontab in /var/tmp oder halt auch irgendwo anderes, wo es dir gefällt