uden net.. bib bib

Her kan du få hjælp til installationen af Ubuntu.
nectioon
Indlæg: 65
Tilmeldt: 30. aug 2009, 15:55
IRC nickname: hej
Geografisk sted: KBH

uden net.. bib bib

Indlæg af nectioon »

Hejsa =D

kan man ikke få ubuntu server til at bibe vis internettet af en oversag er blevet afbrudt på den...
og kan man også få den til at sende en mail når dette sker?

tænker på et simpelt script der køres vær 3 min som tjekker net
but how to do that?
can i use php?
lath
Indlæg: 5095
Tilmeldt: 27. apr 2008, 02:16
IRC nickname: lars_t_h
Geografisk sted: Fyn

Re: uden net.. bib bib

Indlæg af lath »

nectioon skrev:Hejsa =D

kan man ikke få ubuntu server til at bibe vis internettet af en oversag er blevet afbrudt på den...
og kan man også få den til at sende en mail når dette sker?

tænker på et simpelt script der køres vær 3 min som tjekker net
but how to do that?
can i use php?


Et terminalprogram kan få en desktop/server PCs buzzer (, som ikke er en højttaler,) til at brumme. Det er noget med at sende et bestemt tegn (0x07 ?) til skærmen (STDOUT), som så bliver fortolket som aktiver buzzer (i et lille tidsrum - den bliver stoppet efter 1/4 sekund, eller der omkring.)

Du kan ikke få serveren som er uden netværk til at sende en email, da den jo ikke har nogen internetforbindelse.
Du kan bruge et GSM/3G modem til at sende en email på serveren uden almindelig internet-forbindelse. Du kan også lade en ekstern server pinge din server i stedet for at bruge modem løsningen. Når det mislykkedes at lave et ping til din server kan den sende en email.

PHP som scripting sprog på og uden for en webserver vil virke helt fint. Ligger PHP scriptet på en webserver skal det kaldes af 'nogen', det er oplagt at lade det blive kaldt fra serveren. Har den server en fast IP adresse kan scriptet starte med at finde ud af om det blev kaldt af serveren ved at filtrere på IP adressen.

Scriptet/Webserver scriptet skal køre på en anden maskine med en anden internetforbindelse, end den internetforbindelse der skal overvåges/monitoreres.

/Lars
Jeg er Software ingeniør (Diplomingeniør) i Informationsteknologi og indlejede systemer, hvor indlejrede systemer er computer (microcontroller) + elektronik i for eksempel et TV, en router, en vaskemaskine og den slags
nectioon
Indlæg: 65
Tilmeldt: 30. aug 2009, 15:55
IRC nickname: hej
Geografisk sted: KBH

Re: uden net.. bib bib

Indlæg af nectioon »

how kan godt se at det ikke kan lade sig gøre... at sende en mail hehe...

men ja noget php som kan tjekke en anden side... og vis den anden side Fx. google ikke svare så må serveren næsten være offline...

men hvordan for man så php til at... få serveren til at bibbe (brume)??? er pænt god til php... men lige dette er jeg lost i...

ps. det er en ubuntu server 9.04
Billede
(betaler: 10/10 Mbit, 189kr md. kbh (kobber :\))
lath
Indlæg: 5095
Tilmeldt: 27. apr 2008, 02:16
IRC nickname: lars_t_h
Geografisk sted: Fyn

Re: uden net.. bib bib

Indlæg af lath »

nectioon skrev:how kan godt se at det ikke kan lade sig gøre... at sende en mail hehe...

men ja noget php som kan tjekke en anden side... og vis den anden side Fx. google ikke svare så må serveren næsten være offline...

men hvordan for man så php til at... få serveren til at bibbe (brume)??? er pænt god til php... men lige dette er jeg lost i...

ps. det er en ubuntu server 9.04


Det var en god ide at pinge inde fra og ud. Her er det er bedre at bruge www.dmi.dk, da DMI er en del af det danske beredskab, og deres servere derfor altid er oppe, og kan skalere op til rigtig mange brugere.

Jeg arbejder lige på finde den rigtige kommando som enten bash, eller C kode.Både bash og rigtige programmer kan kaldes fra php.

Andre må gerne komme med et løsning.

Edit:
Det må være noget i denne stil:

Fra noget userland kode som snakker med en driver der styrer noget elektronik: http://agendawiki.com/cgi-bin/aw.pl?UnusualInputOutput

The driver maps buzzer commands to ''console escape codes''. Therefore, as with any other Linux box, you can easily control the buzzer by directly writing special codes to ''/dev/console'', as illustrated in this shellscript:

PITCH=300 # Hertz
DURATION=1000 # miliseconds
echo -e "\033[10;$PITCH]\033[11;$DURATION]\a" > /dev/console

Of course you can also make buzzer noises from a C program; e.g:

void beep(int pitch, int duration /* Hz, ms */) {
FILE *consoleFile = fopen("/dev/console", "w");
if (consoleFile == NULL) perror("Error opening /dev/console");

fprintf(consoleFile, "\033[10;%d]\033[11;%d]\a\n", pitch, duration);
}

This method limits duration values as 10 < ''duration'' < 2000. You can drop these restrictions through another, more direct method, using ''ioctl'' commands. It works like this:

#include <fcntl.h>
#include <sys/ioctl.h>
#include <linux/kd.h>
void beep(int pitch, int duration /* Hz, ms */) {
int period = 1200000/pitch;
int console = open("/dev/console", O_WRONLY);
if (console<0) perror("Error opening /dev/console");

if (ioctl(console, KIOCSOUND, period) < 0) perror("Ioctl Error");
usleep(duration*1000L);
if (ioctl(console, KIOCSOUND, 0) < 0) perror("Ioctl Error");
}

A small difficulty is that ''/dev/console'' comes without user write permission by default. Also, users are not usually permitted to use ''ioctl'' operations. So you have to work as root, change these permissions in some ''init.d'' script and/or ''setuid root'' the program; i.e., log as ''root'' and type:

chown root yourProgramName ; chmod +s yourProgramName

This difficulty does not exist if your program runs under X. You can then controll the buzzer using X-calls, as follows (see ''man XBell''):

#include <X11/Xlib.h> /* compile with -lX11 */
#include <X11/keysym.h>
void beep(int pitch, int duration) {
XKeyboardControl v;
v.bell_pitch=pitch; v.bell_duration=duration/2; v.bell_percent=100;
Display *xdisplay = XOpenDisplay(NULL);
XChangeKeyboardControl
(xdisplay, (KBBellPitch | KBBellDuration | KBBellPercent), &v);

XBell(xdisplay, 100); XFlush(xdisplay);

XCloseDisplay(xdisplay);
}

/Lars
Jeg er Software ingeniør (Diplomingeniør) i Informationsteknologi og indlejede systemer, hvor indlejrede systemer er computer (microcontroller) + elektronik i for eksempel et TV, en router, en vaskemaskine og den slags
lath
Indlæg: 5095
Tilmeldt: 27. apr 2008, 02:16
IRC nickname: lars_t_h
Geografisk sted: Fyn

Re: uden net.. bib bib

Indlæg af lath »

bash kommandoen:

Kode: Vælg alt

echo -e "\a"

skulle gøre det, hvis du har en buzzer (og ikke kun en højttaler).

PHP exec kommandoen:

Kode: Vælg alt

string exec  ( string $command  [, array &$output  [, int &$return_var  ]] )
, http://php.net/manual/en/function.exec.php skal bruges:

Kode: Vælg alt

<?php
// beep using the buzzer
$ECHOCMD = "/bin/echo -e '\a'";
echo exec($ECHOCMD);
?>


/Lars
Jeg er Software ingeniør (Diplomingeniør) i Informationsteknologi og indlejede systemer, hvor indlejrede systemer er computer (microcontroller) + elektronik i for eksempel et TV, en router, en vaskemaskine og den slags
nectioon
Indlæg: 65
Tilmeldt: 30. aug 2009, 15:55
IRC nickname: hej
Geografisk sted: KBH

Re: uden net.. bib bib

Indlæg af nectioon »

jeg roser dig virkelig virkelig meget for din hjælp... :) :) :) :D :o

men når jeg skriver i terminal: echo -e "\a"
godkender den kommandoen.. men den siger intet...
jeg ved den har buzzer fordi jeg har taget grafikkortet ud af... (ikke nødvendigt at have grafikkort i mere...) siger den altid 4 - 6 bibs når jeg starter den... og jeg kan også se buzzeren på bundkortet..
kan det være en indstilling i bios der skal ændres??
Billede
(betaler: 10/10 Mbit, 189kr md. kbh (kobber :\))
nectioon
Indlæg: 65
Tilmeldt: 30. aug 2009, 15:55
IRC nickname: hej
Geografisk sted: KBH

Re: uden net.. bib bib

Indlæg af nectioon »

fik det til at du :D

jaa endu en gang tak for din hjælp! =) =) =D
Billede
(betaler: 10/10 Mbit, 189kr md. kbh (kobber :\))
nectioon
Indlæg: 65
Tilmeldt: 30. aug 2009, 15:55
IRC nickname: hej
Geografisk sted: KBH

Re: uden net.. bib bib

Indlæg af nectioon »

Lige et hurtigt spørgsmål omkrig crontabs...

når jeg skriver: 1-59 * * * * / var / www / c / beep.php

(så den køre hvert 2 min)

siger den -bash: 1-59: Command not found...

hvorfor siger den det??
Billede
(betaler: 10/10 Mbit, 189kr md. kbh (kobber :\))
lath
Indlæg: 5095
Tilmeldt: 27. apr 2008, 02:16
IRC nickname: lars_t_h
Geografisk sted: Fyn

Re: uden net.. bib bib

Indlæg af lath »

nectioon skrev:Lige et hurtigt spørgsmål omkrig crontabs...

når jeg skriver: 1-59 * * * * / var / www / c / beep.php

(så den køre hvert 2 min)

siger den -bash: 1-59: Command not found...

hvorfor siger den det??


bash kender ikke en kommando der hedder "1-59". I crontab skal du angive programmer (binære eller scripts) hvis sti står i PATH miljø-variablen, ellers må du angive den absolutte sti til programmet.

Du skal angive et program - ikke en fil., altså execute bit skal sættes, og iøvrigt sætte brugeren, og gruppen til root:

Kode: Vælg alt

sudo chown root /var/www/c/beep.php && sudo chgrp root /var/www/c/beep.php && sudo chmod 755 /var/www/c/beep.php


/var/www/c/beep.php skal have en she-bang signatur (altså aller-først i filen skal der stå):
#!/bin/sh
# PHP beep script \
exec php "$0" ${1+"$@"}

hvor:

$0 er stien+filnavn+filtype til scriptet selv (uanset hvor du lægger scriptet og omdøber det til), og resten er argumenterne til det script.
Læs mere på: http://www.gnu.org/software/bash/manual/bashref.html#Special-Parameters

/Lars
Jeg er Software ingeniør (Diplomingeniør) i Informationsteknologi og indlejede systemer, hvor indlejrede systemer er computer (microcontroller) + elektronik i for eksempel et TV, en router, en vaskemaskine og den slags