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?
uden net.. bib bib
-
- Indlæg: 65
- Tilmeldt: 30. aug 2009, 15:55
- IRC nickname: hej
- Geografisk sted: KBH
-
- Indlæg: 5095
- Tilmeldt: 27. apr 2008, 02:16
- IRC nickname: lars_t_h
- Geografisk sted: Fyn
Re: uden net.. bib bib
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
-
- Indlæg: 65
- Tilmeldt: 30. aug 2009, 15:55
- IRC nickname: hej
- Geografisk sted: KBH
Re: uden net.. bib bib
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
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
-
- Indlæg: 5095
- Tilmeldt: 27. apr 2008, 02:16
- IRC nickname: lars_t_h
- Geografisk sted: Fyn
Re: uden net.. bib bib
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
-
- Indlæg: 5095
- Tilmeldt: 27. apr 2008, 02:16
- IRC nickname: lars_t_h
- Geografisk sted: Fyn
Re: uden net.. bib bib
bash kommandoen:
skulle gøre det, hvis du har en buzzer (og ikke kun en højttaler).
PHP exec kommandoen:
, http://php.net/manual/en/function.exec.php skal bruges:
/Lars
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 ]] )
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
-
- Indlæg: 65
- Tilmeldt: 30. aug 2009, 15:55
- IRC nickname: hej
- Geografisk sted: KBH
Re: uden net.. bib bib
jeg roser dig virkelig virkelig meget for din hjælp...
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??
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??
-
- Indlæg: 65
- Tilmeldt: 30. aug 2009, 15:55
- IRC nickname: hej
- Geografisk sted: KBH
Re: uden net.. bib bib
fik det til at du
jaa endu en gang tak for din hjælp! =) =) =D
jaa endu en gang tak for din hjælp! =) =) =D
-
- Indlæg: 65
- Tilmeldt: 30. aug 2009, 15:55
- IRC nickname: hej
- Geografisk sted: KBH
Re: uden net.. bib bib
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??
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??
-
- Indlæg: 5095
- Tilmeldt: 27. apr 2008, 02:16
- IRC nickname: lars_t_h
- Geografisk sted: Fyn
Re: uden net.. bib bib
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