» »

wol s pomočjo php

wol s pomočjo php

slovencl ::

Imam problem, in mi niti najmanj ni jasno kaj bi lahko bilo narobe. Imam php kodo s katero bi preko interneta rad zbudil en računalnik v LAN. php najprej pinga računalnik, in javi, če je računalnik vključen (ta del deluje brez problema). Če je računalnik izključen, lahko pošljem WOL magični paket (ta pa ne deluje). wol shell skripta mi v log fajl zapiše tudi kdaj je bila izvedena. Če to wol skripto poženem na routerju (freebsd), se računalnik zbudi, čas pa se zapiše v log fajl. Če pa wol skripto zaženem preko php pa zadeva ne deluje. V log fajlu lahko še vedno vidim, da se je skripta izvedla, računalnik pa se ne zbudi.

Se komu sanja kaj bi lahko bilo narobe? Kakšne uporabniške privilegije pa ima php, ko izvaja poganja skripte (root, user...)?

Imam freebsd, apache, php

php skripta
system('sh /usr/ukazi/ping_klemen', $retval_1);
if ($retval_1==0) { echo "racunalnik je vkljucen"; }
else { echo "racunalnik je izkljucen"; }

echo "<p>";
?>

<form action="wol.php" method="post">  
<input type="submit" value="poslji wol ukaz" name="klemen_wol" />
</form>

<?php
if (isset($_POST["klemen_wol"])) 
{ 
	system('sh /usr/ukazi/wol_klemen', $retval_2);
	if ($retval_2==0) { echo "racunalnik se bo v kratkem vkljucil"; }
}
?>


wol shell skripta
#!/bin/sh
#

wakeonlan -i 192.168.0.255 00:13:20:c4:c6:3a

LOGDIR=/usr/ukazi/ ; export LOGDIR
LOGFILE=$LOGDIR/wol.log ; export LOGFILE
OPENLOG=$LOGFILE ; export OPENLOG
echo `date` "wol_klemen $*" >> $OPENLOG


ping shell skripta
#!/bin/sh
#

var=$(ping -c1 -t1 192.168.0.11 | grep time)

if [ -z "$var" ]                                        # če je string je null
then
        return 1                                        # ni odgovora
else
        return 0                                        # je odgovor
fi
  • spremenil: slovencl ()

zdobersek ::

Lahko poskusis tudi s pure PHP skripto - klik.

slovencl ::

Bom poskusil, ampak vseeno me zanima kaj bi lahko bilo narobe, da se ne bom naslednjič spet lomil, ko bom hotel zagnat kako skripto, kjer pa ne bo druge rešitve.

Kako pa lahko spremljam, kaj je php zagnal, in kakšen je bil rezultat?

slovencl ::

Sem ugotovil. Treba mu je povedat celotno pot: /usr/local/bin/wakeonlan
Zdej pa deluje kot je treba :D


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

linux skripta

Oddelek: Pomoč in nasveti
191914 (790) Tatankas
»

Wake on lan help needed

Oddelek: Omrežja in internet
101977 (1432) sleby
»

systemctl zagon programa

Oddelek: Pomoč in nasveti
51171 (1132) korenje3
»

Arhiviranje serverja s TAR - incremental in FTP na drugo lokacijo in email report - S

Oddelek: Operacijski sistemi
61577 (1488) Daedalus
»

Skripte (strani: 1 2 )

Oddelek: Programiranje
508816 (6679) Microsoft

Več podobnih tem