Sida 1 av 1

Hddtemp på websida? [LÖST]

Postat: 14 dec 2005 18:06
av denil
Jag har hddtemp inlagt på min slackburk, och hade velat skriva ut tempen i en php-sida.
Någon som vet hur man kan lösa det? :P

Kod: Markera allt

root@Synthetic:/# hddtemp /dev/hda
/dev/hda: ST380011A: 32°C
måste vara root när jag kör hddtemp, men det kanske går att lösa med chmod +x eller ändra rättigheterna ? (inte så haj på linux)

Postat: 14 dec 2005 21:15
av Dukeman
Det du förmodligen vill ha är exec(); eller passthru();. exec ger dig output i en variabel medan passthru slänger in det på sidan direkt.


Att du enbart kan köra hddtemp som root beror troligen inte på programmet som sådant utan snarare permissions på /dev/hda. Jag vet inte om det är så smart att tillåta att andra användare skriver till den, men i och med att det är så man gör med brännare (???) så borde det väl fungera?

Annars kan du ju göra en fuling, genom att köra ett cron-job som root där du sparar hddtemp i en fil, för att sedan läsa in filen på hemsidan?

Beroende på hur ofta du vill ha det uppdaterat kan det kanske vara en bra lösning, med tanke på säkerhet\driftstabilitet osv.


Edit: Jag laddade ner hddtemp (trevligt program!), och det visar sig att det har ett daemon-läge, där det liggger i bakgrunden och lyssnar på port 7634. Om du startar det som root och sedan kontaktar det via fsockopen(); och läser tempinfo därifrån så kanske du kan komma runt det i "realtid" ?
kolla
hddtemp --help
för mer info om saken.

Jag återkommer när jag har scriptat ihop en lösning :roll:

Postat: 14 dec 2005 21:16
av exz
eller så kan man göra en ännu fulare fuling och lägga hddtemp i bakgrunden (hddtemp -d /dev/hda /dev/hdb) och sen koda nåt i php som hämtar via TCP/IP :P

Postat: 14 dec 2005 21:58
av denil
chown'ade /dev/hda och /usr/sbin/hddtemp till <användare>:users provade även med nobody:nogroup men inget av det fungerar :/

kör jag kommandot som vanlig user får jag bara /dev/hda: Permission denied

ingen av er experter som har tid/ork/lust att skriva ihop en liten how-to eller kodsnuttar åt mig? =)

edit: Dukeman najs :P
ska kolla upp det där, om jag lyckas få ihop något, trost bristande php-kunskaper :D

Postat: 14 dec 2005 23:04
av Dukeman
Tja, jag och Denil gick igenom saken via *host* ett IM-program vi alla känner till *host*

och kom fram till följande lösning:

Kod: Markera allt

function hddtemp($dev)	//Send in dev such as /dev/hda
{
              //This connects to a local hddtemp daemmon.
              //http://www.guzu.net/linux/hddtemp.php
              //
              //I recommend the following command line to start a daemon for /dev/hda and /dev/hdc
              //$ hddtemp -d -l 127.0.0.1 /dev/hda /dev/hdb
              //
              // This ensures that it only responds to local connections.
      $HDDsock = fsockopen("127.0.0.1" , 7634, $ERR);
      if ( $ERR )	//Something went to Fsck with the connection
      {
            return 0;
      }
      $RET ="";		//Initialize...
      while (!feof($HDDsock))
      {
          $RET .= fgets($HDDsock,128);	//Catch that output, bitch!
      }
      //We get something like this returned:
      //|/dev/hda|ST380011A|32|C|
      //repeated for each of the monitored drives. we need to find the one we need...
      $drives = explode("||","|" . $RET); //We have two pipes between each drive, but only one in front of the first. Compensate!
      foreach ($drives as $CURDRIV)	//Do them one by one...
      {
        $SECTIONS = explode("|", $CURDRIV);	//Get each of the sections...
        //now $SECTIONS['0'] contains our drive device and $SECTIONS['2'] has the temperature. As a bonus we have the Unit (it seems) in ['3'].
        if ($dev == $SECTIONS['0'])
        {
            return $SECTIONS['2'] . "°" .  $SECTIONS['3']; //Send it back!
        }
      }          
      
      //We didn't find our device in the list.. that's sad.,..
      return 0;

}
För er som vill ha mer så kanske jag vågar göra reklam för min egna lilla kodhink sysinfo.php som har lite sådana här saker (denna funktion också, numera). Ha så trevligt!

Postat: 14 dec 2005 23:43
av denil
Dukeman skrev:Tja, jag och Denil gick igenom saken via *host* ett IM-program vi alla känner till *host*

och kom fram till följande lösning:

Kod: Markera allt

 en massa kodsnuttar :P
För er som vill ha mer så kanske jag vågar göra reklam för min egna lilla kodhink sysinfo.php som har lite sådana här saker (denna funktion också, numera). Ha så trevligt!
Vi och vi? Du gjorde jobbet, och jag ställde alla jobbiga frågor :P
Du ska ha all credit för scriptet !

Postat: 15 dec 2005 21:11
av denil
Dukeman skrev:Tja, jag och Denil gick igenom saken via *host* ett IM-program vi alla känner till *host*

och kom fram till följande lösning:

Kod: Markera allt

kod
För er som vill ha mer så kanske jag vågar göra reklam för min egna lilla kodhink sysinfo.php som har lite sådana här saker (denna funktion också, numera). Ha så trevligt!
Du förresten, är det okey om jag gör ett försök med att ändra din kod lie här och var så jag får ihop det med conky?
Då kan jag printa ut lite mer onödig info på webben :D

Postat: 16 dec 2005 15:16
av Dukeman
Vill du ha det så får du ta det. Jag orkar inte tjafsa med licenser och avtal och skit...

Kanske WTFPL?

Varsågod!

Postat: 16 dec 2005 15:52
av denil
Dukeman skrev:Vill du ha det så får du ta det. Jag orkar inte tjafsa med licenser och avtal och skit...

Kanske WTFPL?

Varsågod!
Hehe, men endel har en tendens att bli griniga om deras kod modifieras. Så jag tänkte det är bäst att fråga före :D

Postat: 16 dec 2005 16:15
av jenso
Glöm för tusan inte licensen. Annars är det per automatik, den svenska lagstiftningen som gäller;)

/Jens

Postat: 16 dec 2005 20:14
av Dukeman
Upphovsrätt osv med andra ord?

men om jag då skriver i den att vem som helst får göra vad som helst. då ärd et det som gäller?

Känns lite pretentiöst att inkludera GPL i filen, iom att filen i sig är kortare än GPL.

men som sagt.. WTFPL

Länken pekar till googles cace, för sidan var dråpligt slö.
Originalsidan finns

Jenso: om jag kopierar texten som finns där till headern på mina fina php-filer, räcker det för att den juridiskt ska vara "öppet byte" ?

Postat: 16 dec 2005 23:08
av jenso
Dukeman skrev:Upphovsrätt osv med andra ord?

men om jag då skriver i den att vem som helst får göra vad som helst. då ärd et det som gäller?

Känns lite pretentiöst att inkludera GPL i filen, iom att filen i sig är kortare än GPL.

men som sagt.. WTFPL

Länken pekar till googles cace, för sidan var dråpligt slö.
Originalsidan finns

Jenso: om jag kopierar texten som finns där till headern på mina fina php-filer, räcker det för att den juridiskt ska vara "öppet byte" ?
Troligen räcker det med ett par förklarande rader och en länk (URL).
Till var man hittar orginalet, om det är önskvärt. Behövs för GPL.
Sedan kan du ju ha en egen licens. Där du kan ange vad du vill.
Detta säger jag *utan*, att vara juridiskt kunnig på något sätt.
Var på en föreläsning om bland annat just det. Det är för allas säkerhet. Det finns nitiska idioter, som älskar att göra nedslag;)
Kom just på. Att jag har precis, gjort ett par sådana missar;-)

/Jens