handdator

Visa fullständig version : Någon som är bra på shell script för 3g donge



Flaxx
2014-10-16, 14:59
Vill ha så att script kolla om adsl lina rulla om inte koppla upp till 3g WIN 7


Jag har fått till det lite


@echo off
ping -n 2 -l 1 google.com
if %errorlevel%==1 rasphone -d "ras"

Men om linan inte svar på ping funkar det inte
Då kommer det upp att det inte hittar google typ och stoppar,skulle villa ha det så det lopar om det inte hittar google.
koppla upp ras som min 3g heter.


skulle liksom villa ha kolla om nät funkar om inte ring upp ras

Någon med tipps

joxen
2014-10-16, 15:24
Köp en ny router men 3g stöd.

Flaxx
2014-10-16, 16:03
Det ska väl gå fixa ett script tycker man .

atomized
2014-10-16, 16:41
Nu är inte jag någon hejare på Windows-script, jag pysslar mest med *nix.

Men tolkar jag hjälpen i Windows rätt borde ditt script se ut så här:

@echo off
ping -n 2 -l 1 google.com
if errorlevel 1 rasphone -d "ras"

nyburgare
2014-10-16, 17:39
ni ska nog använda, typ så här för att loopa

:label1
echo "while -1"
if errorlevel 2 goto error2
if errorlevel 1 goto error1
goto label1
:error1
echo "fail1"
goto end
:error2
echo "fail2"
goto end

:end
echo "slutt"

Flaxx
2014-10-17, 09:08
@echo off
:begin
ping www.google.com | find "Reply" > nul
if errorlevel 1 goto :failed
goto :OK

:failed
echo Failed
choice /T 3600 /D Y /N
rasdial ras
goto begin

:OK
echo OK




Hänger sig på nul hittar inte filen

varför ?

nyburgare
2014-10-17, 09:52
Har inte ping lite olika exit coder ???
har find det ??

ditt script är dessutom språkberoende :-)

testa exit med
echo felkod %errorlevel%

du ska väl också ta bort kolon i goto command

Flaxx
2014-10-17, 22:54
@echo off
:begin
ping -n 2 -l 1 google.com
if %errorlevel%==1 goto :failed

goto :OK

:failed
echo Failed
rasdial ras
goto begin

:OK
echo OK


ping www.yahoo.com

if NOT %ERRORLEVEL% ==0 goto failed

Exit
:failed

Echo Failed to connect......will retry
goto failed



Verka funka om man inte har lösen på stickan

nyburgare
2014-10-18, 06:53
Är inte detta en Infinite loop ??



:failed

Echo Failed to connect......will retry
goto failed

needcs
2014-10-18, 11:59
Jag brukar ha problem med min ADSL lina och vill veta när den är uppe igen. Jag har gjort detta Powershell script.
Du kan säkert ändra lite för att få till ditt så att det funkar bra.


# Set time to variable to get TimeDIff after the request.
$Start = [DateTime]::Now.ToString()


# exempel: Sätt en länk till en musik fil så hör du när du är igång igen.
$MusikFil = "\\192.168.0.100\music\Kyla La Grange - Cut Your Teeth.mp3"

While("evighet" -eq "evighet")
{
Clear-Host
Write-Host ""
Write-Host "Ping Google"
ping 8.8.8.8 # Google
if($(ping 8.8.8.8) -match "time=")
{
Start-Process -FilePath $MusikFil

# Set stop time, to get the intermediate time.
$Stop = [DateTime]::Now.ToString()
$TimeDIff = New-TimeSpan $($Start) $($Stop)
Write-Host ""
Write-Host ""
Write-Host "Start: $Start"
Write-Host "Stop: $Stop"
Write-Host "WAN is online, it has been down: $TimeDIff"
Write-Host ""

Exit
}

# Sleep 1 minute and try again.
Start-Sleep -s 60
}

nyburgare
2014-10-18, 15:41
Misstänker att det är svenskar mest på detta forum, så:
what a waste of bandwidth using google for ping, use something like 192.36.125.18 instead, or ??