Linux-gegenereerde webpagina

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • kmsch
  • Registratie: Maart 2009
  • Laatst online: 10-09 09:54
Beste Tweakers,

Samen met twee vrienden (we zijn geen van allen programmeurs, slechts standaard middelbare-scholieren) hebben we een kleine Minecraft-server draaien, gewoon in de meterkast bij ons thuis. Er staat Ubuntu Server op geinstalleerd (zonder GUI). Omdat ik nog het handigst ben heb ik het beheer op me genomen; het is gelijk een leuk project om eens wat te leren over Linux e.d.

De situatie is als volgt: de server draait perfect, we zijn volmaakt tevreden. Dagelijks wordt er een automatische backup gemaakt (CRON + .sh scripts) en wordt elke 30 minuten gecheckt of het programma draait; draait'ie wel, niets aan de hand, draait'ie niet wordt het programma alsnog gestart en wordt er een melding in een .log bestandje weggeschreven.

Nu wil ik echter dat die meldingen in een .html bestandje worden weggeschreven; de pagina moet vervolgens bereikbaar zijn via internet zodat we via het internet de logbestanden kunnen bekijken. Apache etc is niet het probleem, maar hoe krijg ik Linux zover dat hij de meldingen op de juiste plaats in het .html bestand wegschrijft? Ik heb geen idee hoe ik dat moet oplossen, hij voegt nu gewoon de tekst onderaan de pagina erbij, dat is natuurlijk niet de bedoeling. Dit is het commando wat ik nu gebruik:


code:
1
echo '[' $NOW ']: Server was down.... Started !' >> /var/www/index.html


Weet iemand hoe ik dit op een andere plek in het .html document kan laten wegschrijven, in plaats van helemaal onderaan de code (en dus zelfs nog ónder het "[/body] [/html]" gedeelte)?

Alvast bedankt voor de response,
Koen

Acties:
  • 0 Henk 'm!

  • Thralas
  • Registratie: December 2002
  • Laatst online: 14:11
Met wat shell black magic kan 't ongetwijfeld, maar is het niet netter om je logevents 'simpel' in een bestandje (of database) weg te schrijven, en vervolgens met een apart script adhv. de data HTML-output te genereren?

Acties:
  • 0 Henk 'm!

  • kmsch
  • Registratie: Maart 2009
  • Laatst online: 10-09 09:54
Ah, dat lijkt me een stuk makkelijker inderdaad! Maar... De enige manier waarop ik (met mijn - gebrekkige -) kennis dat zou kunnen uitvoeren is door met Frames te gaan werken en dan op die manier dat logbestand erin te verwerken... Dat kan een stuk beter lijkt me? In ieder geval bedankt voor je response! :)

Acties:
  • 0 Henk 'm!

  • Osiris
  • Registratie: Januari 2000
  • Niet online
koeny 3 schreef op maandag 13 februari 2012 @ 21:13:
Ah, dat lijkt me een stuk makkelijker inderdaad! Maar... De enige manier waarop ik (met mijn - gebrekkige -) kennis dat zou kunnen uitvoeren is door met Frames te gaan werken en dan op die manier dat logbestand erin te verwerken... Dat kan een stuk beter lijkt me? In ieder geval bedankt voor je response! :)
Wat is d'r mis met wat PHP? Hoeft echt niet lastig te zijn. Wellicht erg overkill voor iets wat met een simpel scriptje ook kan, maar PHP is wel lekker makkelijk IMO :+

Acties:
  • 0 Henk 'm!

  • kmsch
  • Registratie: Maart 2009
  • Laatst online: 10-09 09:54
PHP... Ik ben geen programmeur he :P Behalve wat rotzooien met shell-scripts weet ik er eigenlijk niet heel veel vanaf. Maar ik zal eens naar PHP gaan kijken, als het niet te lastig is zal het wel lukken :) Thx!

Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Je PHP hoeft niet heel veel meer te zijn dan:

HTML:
1
2
3
4
5
6
7
8
9
10
<html>
  <head>
    <title>Blabla</title>
  </head>
  <body>
    <p>Blablablabalabla</p>
    <?php echo file_get_contents('/path/to/logfile.txt'); ?>
    <p>Blablablabalabla</p>
  </body>
</html>

file_get_contents is 't enige dat je nodig zou hebben.

[ Voor 18% gewijzigd door RobIII op 13-02-2012 21:27 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

  • Osiris
  • Registratie: Januari 2000
  • Niet online
RobIII schreef op maandag 13 februari 2012 @ 21:26:
Je PHP hoeft niet heel veel meer te zijn dan:

HTML:
1
2
3
4
5
6
7
8
9
10
<html>
  <head>
    <title>Blabla</title>
  </head>
  <body>
    <p>Blablablabalabla</p>
    <?php echo file_get_contents('/path/to/logfile.txt'); ?>
    <p>Blablablabalabla</p>
  </body>
</html>

file_get_contents is 't enige dat je nodig zou hebben.
Je zou d'r nog eventueel een PHP-equivalent van een `tail` overheen kunnen gooien om alleen de laatste X log-regels te laten zien. Zelf dacht ik dat wellicht het gebruik van de binary `tail` makkelijker is, omdat die niet per se eerst een logbestand van tig MB's in 't geheugen hoeft te plaatsen. Nu kan dat natuurlijk ook zélf, door met fseek() e.d. te kloten, maar `tail` is wellicht simpeler :+ Moet je wel weer exec() e.d. gebruiken, ook niet alles.

Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Nja, ik ken de logfiles van minecraft niet dus weet ook niet of we 't over een paar regels hebben of vele MB's. Maar ook in dat laatste geval moet met een kleine beginnerstutorial PHP (of eender welke taal) iets dat de laatste X regels leest daarna simpel in elkaar te zetten zijn.

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

  • d33n
  • Registratie: April 2000
  • Laatst online: 04-09 07:58
Maar het gaat niet om de log files van minecraft. De resultaten worden al door het shell script in een file gezet.Daarom is dit ook een mooie oplossing:
RobIII schreef op maandag 13 februari 2012 @ 21:26:
Je PHP hoeft niet heel veel meer te zijn dan:

HTML:
1
2
3
4
5
6
    Blabla
  
  
    Blablablabalabla
    
    Blablablabalabla

file_get_contents is 't enige dat je nodig zou hebben.
Pagina: 1