Gå til innhold

Noen script konger her ? Trenger litt hjelp


Anbefalte innlegg

Er det noen her som hadde giddet å mekke ett lite bash script for meg som skal kjøres på en Dreambox 7020s ?

 

Hadde vært evig takknemelig visst det var noen som hadde giddet.

 

 

Det jeg vil scriptet skal gjøre er å sjekke en port hvert 60. sek.

 

Den skal altså prøve å telnette inn på localhost port 44 og sjekke hva den får i retur.

 

Visst den får tilbake "Connection closed by foreign host." så skal den gjøre noe visst den får tilbake noe annet enn "Connection closed by foreign host." skal den altså forsette loopen i all evighet.

Lenke til kommentar
Videoannonse
Annonse

ja, det hadde jo vært greit å vite hva du skal gjøre med det, men jeg har gjort et forsøk hvertfall. har ikke satt opp telnetserver, så jeg får ikke testet det, men det ser ut til å funke med ssh.. du får si fra hva som skjer. =)

 

hva er dreambox egentlig? set top box?

 

 

#!/bin/bash

#variabler
remote_port=44
remote_host=locahost
sleep_time=10

while true; do 
clear
echo "kobler til $remote_host... "
#attempting connect
response=`telnet $remote_host $remote_port` &
sleep 3;

#checking exit status
if [ "$?" = "0" ]; then
 #connection OK
 echo "port open"

 #do something
 #break, maybe?

elif [ "$?" = "1" ]; then
 #telnet exits with a value of 1
 echo "connection closed by foreign host, trying again in $sleep_time seconds"
 #wait & repeat
else
 #telnet exits with a unknown value
 echo "unknown exit value, trying again in $sleep_time seconds"
fi

sleep $sleep_time
done

exit 0

 

edit: hups. la oss kalle dette v1.1

Endret av ways
Lenke til kommentar
Jeg ser straks et problem: telnet (i hvertfall den versjonen jeg bruker) returnerer 1 uansett hva. Teit, egentlig. Er det kanskje lettere å utføre samme testet vha. nmap, eller lignende?

Man kan gå litt mer low-level, og bruke sockets, tror kanskje det er blant de letteste løsningene for dette problemet. Enkelt gjort via perl, c eller lignende, men aner ikke hvordan det kan gjøres i bash.

 

@trådstarter; om du har lyst på, kan jeg sikkert snekre sammen noe raskt i perl til deg - vet riktignok ikke om Dreambox'en din støtter det.

Lenke til kommentar

om du bare skal sjekke om telnetserveren kjører, finnes det letter måter å gjøre det på egentlig. man kan vel egentlig bare kjøre en ps axu | grep telnetd eller hva den heter. om du sier hva som faktisk er problemet er det litt letter å skreddersy.

 

edit: hehe. 2 min etter deg. godt. post gjerne det modifiserte scriptet, så vi alle lærer litt =)

Endret av ways
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...