Ett litet enkelt script - för att kolla om nätet finns...

Här diskuterar vi nätverksrelaterade problem eller projekt.

Ett litet enkelt script - för att kolla om nätet finns...

Inläggav Osprey » tor okt 24, 2024 12:22 am

Kod: Markera allt
#! /bin/bash
#
echo
DEST=$(dig -x 8.8.8.8 | grep -A1 "ANSWER SECTION" | tail -1 | awk '{ print $5 }' | sed 's/\.$//')
echo "-Pinging to $DEST"
echo
ping -c 5 8.8.8.8
echo

Kände att jag fick skriva något, eftersom det är lite tomt här nu.... ;)
Osprey
Ninja
 
Inlägg: 227
Blev medlem: fre maj 30, 2014 3:33 pm
Ort: Falkenberg

Re: Ett litet enkelt script - för att kolla om nätet finns...

Inläggav Jan-Olof » tor okt 24, 2024 10:17 am

Tack! Att skriva någonting positivt är ju det bästa sättet att inspirera medlemmarna och att locka nya.
Jan-Olof
Finansiär och Beskyddare
 
Inlägg: 1712
Blev medlem: tis dec 08, 2009 2:07 pm

Re: Ett litet enkelt script - för att kolla om nätet finns...

Inläggav Osprey » tor okt 24, 2024 4:43 pm

Jan-Olof skrev:Tack! Att skriva någonting positivt är ju det bästa sättet att inspirera medlemmarna och att locka nya.

Ja det här är ju bara ett litet enkelt script som visar om Googles DNS svarar och gör den inte det, så har du förmodligen ingen förbindelse med nätet överhuvudtaget.
Det finns inte vad jag vet något bra verktyg i GUI som visar det här, utan de bara "funkar/eller funkar inte" och man kan inte vara säker på om det är något annat fel...

Så när nätet krånglar, så kör jag alltid "ping8" (som jag kallar det) och funkar det inte, så är det bara att starta om routern, eller börja söka andra fel...
Osprey
Ninja
 
Inlägg: 227
Blev medlem: fre maj 30, 2014 3:33 pm
Ort: Falkenberg

Re: Ett litet enkelt script - för att kolla om nätet finns...

Inläggav Marie SWE » fre okt 25, 2024 1:36 am

Osprey skrev:
Jan-Olof skrev:Tack! Att skriva någonting positivt är ju det bästa sättet att inspirera medlemmarna och att locka nya.

Ja det här är ju bara ett litet enkelt script som visar om Googles DNS svarar och gör den inte det, så har du förmodligen ingen förbindelse med nätet överhuvudtaget.
Det finns inte vad jag vet något bra verktyg i GUI som visar det här, utan de bara "funkar/eller funkar inte" och man kan inte vara säker på om det är något annat fel...

Så när nätet krånglar, så kör jag alltid "ping8" (som jag kallar det) och funkar det inte, så är det bara att starta om routern, eller börja söka andra fel...

Skriptet fungerar inte hos mig. 8-)

Guess once why. :P
Marie SWE
Ninja
 
Inlägg: 309
Blev medlem: tis jan 31, 2023 6:30 pm

Re: Ett litet enkelt script - för att kolla om nätet finns...

Inläggav Mikael » fre okt 25, 2024 4:26 pm

I Windowsmiljö har jag ett skript som kollar en adress en gång var x sekund/minut. Svar/ej svar tidsstämplas och skrivs till en loggfil.

Använder det för att så att säga ha belägg för att nätverket krånglar, ex. mot jobbets filserver, men även lokalt för att kolla om någon "smart" enhet har svårigheter att nå nätverket.

I Linuxmiljö har jag inget motsvarande... ;) :roll:
---
LMDE 6 Faye@Mintbox Mini 2 Pro      "from freedom came elegance"
Mikael
Finansiär och Beskyddare
 
Inlägg: 2806
Blev medlem: lör jan 07, 2012 3:29 pm
Ort: Söråker

Re: Ett litet enkelt script - för att kolla om nätet finns...

Inläggav Marie SWE » fre okt 25, 2024 8:12 pm

Mikael skrev:I Windowsmiljö har jag ett skript som kollar en adress en gång var x sekund/minut. Svar/ej svar tidsstämplas och skrivs till en loggfil.

Använder det för att så att säga ha belägg för att nätverket krånglar, ex. mot jobbets filserver, men även lokalt för att kolla om någon "smart" enhet har svårigheter att nå nätverket.

I Linuxmiljö har jag inget motsvarande... ;) :roll:


EDIT:
Jag skriver om min post... Nu har jag testat.

Jag gjorde en loop.. Jag ändra till cloudflare dns då jag blockar Google. :roll:
Jag skapa en logfil som lägger sig i Home.. och jag ändra ping till 3 istället för 5 för att minska avtrycket i logfilen.. samt jag la till clear screen då bara sista behöver vara synligt då allt finns i loggfilen så att säga.
och det åter-kör skriptet var 5:e minut
Inte världens snyggaste.. Men det funkar. :lol:

Dock kanske man kan göra det ännu renare, så det enbart varnar vid time out av ping.... Men det tänker jag inte forska i. :oops: :mrgreen:

Kod: Markera allt
#! /bin/bash
#
while true
do
# hash out Clear nedan om du inte vill att terminalen rensar skärmen mellan varje körning,
# Jag tyckte det var onödigt att skapa en oändlig scroll lista då det ändå går till log-fil.
clear
echo "_______________________________________________________________" >> ~/ping-log.txt
date | tee -a ~/ping-log.txt
echo
DEST=$(dig -x 1.1.1.1 | grep -A1 "ANSWER SECTION" | tail -1 | awk '{ print $5 }' | sed 's/\.$//')
echo "-Pinging to $DEST" | tee -a ~/ping-log.txt
echo
ping -c 3 1.1.1.1 | tee -a ~/ping-log.txt
echo
echo "Sover 5 minuter"
echo "Tryck [CTRL+C] för att stoppa.."
sleep 5m
done

EDIT
ändra sleep 5m till sleep 5 för att testa, så kör den skriptet var 5:e sekund istället för minut
m=minut
h=timma
s=sekund och är default värde så skriver man inget efter siffran, så antar bash att det är sekunder

Edit 27 Okt 02:00
Jag ändrade i skriptet att den ska skapa en linje i loggfilen för snyggare radbrytning mellan förra och senaste pingen för lättare avläsning.
Marie SWE
Ninja
 
Inlägg: 309
Blev medlem: tis jan 31, 2023 6:30 pm

Re: Ett litet enkelt script - för att kolla om nätet finns...

Inläggav Marie SWE » sön okt 27, 2024 5:01 am

okej.. så jag skrev om det ännu en gång, då sleep funktionen är för tråkig, då man inte får visuell feed back på skärmen medans man väntar så man vet om det fortfarande körs eller om skriptet hängt sig. :roll:
Samt att ändra tiden är inte uppenbart smidigt.

Så jag skrev om sleep till en timer som räknar ner Dagar, Timmar, Minuter och Sekunder ifall man inte vill att skriptet ska köras för ofta.

Här kommer den omskrivna coden. :geek:

Kod: Markera allt
#! /bin/bash
while true
do
# --- hash out "clear" här nedanför, om du inte vill att terminalen rensar skärmen mellan varje körning,
clear
# --- Jag tyckte det var onödigt att skapa en oändlig scroll lista i terminalen då det ändå går till log-fil.
echo
echo "_______________________________________________________________"  | tee -a ~/ping-log.txt
date | tee -a ~/ping-log.txt
echo
DEST=$(dig -x 1.1.1.1 | grep -A1 "ANSWER SECTION" | tail -1 | awk '{ print $5 }' | sed 's/\.$//')
echo "-Pinging to $DEST" | tee -a ~/ping-log.txt
echo
ping -c 3 1.1.1.1 | tee -a ~/ping-log.txt
# --- Ändra -c 3 ovanför om du vill att det ska Pinga mer än 3 gånger varje gång. Tänk dock på att loggfilen fylls snabbare!
# --- Ändra IP 1.1.1.1 på de två ovanför till aktuellt IP nummer som du vill ska pingas
# ------------ Timer ----------
# -- Sätt tiden nedanför genom att ändra värdet 0 till siffran du önskar.
# -- Jag har satt det till 5minuter som default värde
dagar=0
timmar=0
minuter=5
sekunder=0
#----------------
echo "Tryck [CTRL+C] för att avbryta"
   while [ $dagar -ge 0 ]; do
        while [ $timmar -ge 0 ]; do
                 while [ $minuter -ge 0 ]; do
                         while [ $sekunder -ge 0 ]; do
                                 echo -ne "--> Kör igen om: $dagar Dagar, $timmar Timmar, $minuter Minuter och $sekunder Sekunder <--\r"
                                 let "sekunder=sekunder-1"
                                 sleep 1
                         done
                         sekunder=59
                         let "minuter=minuter-1"
                 done
                 minuter=59
                 let "timmar=timmar-1"
         done
         timmar=24
         let "dagar=dagar-1"
   done
done
Marie SWE
Ninja
 
Inlägg: 309
Blev medlem: tis jan 31, 2023 6:30 pm

Re: Ett litet enkelt script - för att kolla om nätet finns...

Inläggav Mikael » sön okt 27, 2024 9:26 am

Marie SWE skrev:Jag ändrade i skriptet att den ska skapa en linje i loggfilen för snyggare radbrytning mellan förra och senaste pingen för lättare avläsning.


Går det inte att få en renare uppställning? En rad för varje testtillfälle.
Kod: Markera allt
2024-08-27 09:30 1
2024-08-27 09:35 1
2024-08-27 09:40 0


Gärna tabbseparerad så att man enkelt kan skapa diagram i kalkylblad.

Fast varför egentligen.. jag behöver ju inte detta i Linuxmiljön :roll:
---
LMDE 6 Faye@Mintbox Mini 2 Pro      "from freedom came elegance"
Mikael
Finansiär och Beskyddare
 
Inlägg: 2806
Blev medlem: lör jan 07, 2012 3:29 pm
Ort: Söråker

Re: Ett litet enkelt script - för att kolla om nätet finns...

Inläggav Mikael » sön okt 27, 2024 9:35 am

Osprey skrev:Det finns inte vad jag vet något bra verktyg i GUI som visar det här, utan de bara "funkar/eller funkar inte" och man kan inte vara säker på om det är något annat fel...


MTR
https://www.bitwizard.nl/mtr/
---
LMDE 6 Faye@Mintbox Mini 2 Pro      "from freedom came elegance"
Mikael
Finansiär och Beskyddare
 
Inlägg: 2806
Blev medlem: lör jan 07, 2012 3:29 pm
Ort: Söråker

Re: Ett litet enkelt script - för att kolla om nätet finns...

Inläggav Marie SWE » sön okt 27, 2024 3:05 pm

Mikael skrev:
Marie SWE skrev:Jag ändrade i skriptet att den ska skapa en linje i loggfilen för snyggare radbrytning mellan förra och senaste pingen för lättare avläsning.


Går det inte att få en renare uppställning? En rad för varje testtillfälle.
Kod: Markera allt
2024-08-27 09:30 1
2024-08-27 09:35 1
2024-08-27 09:40 0


Gärna tabbseparerad så att man enkelt kan skapa diagram i kalkylblad.

Fast varför egentligen.. jag behöver ju inte detta i Linuxmiljön :roll:


Jag tror inte det går i ett bash script... ( nyckelord=tror )
Jag tror man behöver skriva ett program i C eller C++ för att skapa en output där den tar ping resultatet och lägger till datum/tid stämpel bredvid och lägger in det i en databas typ MariaDB / MySQL och sedan där ifrån kan visa/skriva ut resultatet.

Som jag skrev nyckelord Tror.. Jag är lite begränsad i Bash och jag har bara spenderat typ 6timmar med att lära mig C, så jag har bara lyckats skriva ett konverteringsprogram för temperatur och mått så jag kan konvertera Celsius/Fahrenheit och cm/inch då jag hänger mycket på amerikanska forum..
så jag tröttna och blev arg att jag behövde söka på duckduckgo varje gång, så jag lärde mig C och skrev ett konverteringsprogram för några månader sedan. :lol:
Dock var tanken att lära mig C för att se om jag kan hitta Buggen i Linux för swapdeath (disk I/O trashing).. :x Men jag insåg att lära sig C programmering kräver intresse.. vilket jag saknar.. Men jag fick mig ett konverteringsprogram så det var inte helt bortkastade 6timmar på 2dagar. :mrgreen:
Marie SWE
Ninja
 
Inlägg: 309
Blev medlem: tis jan 31, 2023 6:30 pm

Re: Ett litet enkelt script - för att kolla om nätet finns...

Inläggav Osprey » tor okt 31, 2024 2:10 pm

Marie SWE skrev:okej.. så jag skrev om det ännu en gång, då sleep funktionen är för tråkig, då man inte får visuell feed back på skärmen medans man väntar så man vet om det fortfarande körs eller om skriptet hängt sig. :roll:
Samt att ändra tiden är inte uppenbart smidigt.

Så jag skrev om sleep till en timer som räknar ner Dagar, Timmar, Minuter och Sekunder ifall man inte vill att skriptet ska köras för ofta.

Här kommer den omskrivna coden. :geek:
Snyggt script och lite bättre än mitt lilla enkla... :mrgreen: :mrgreen:

Mikael skrev:
Osprey skrev:Det finns inte vad jag vet något bra verktyg i GUI som visar det här, utan de bara "funkar/eller funkar inte" och man kan inte vara säker på om det är något annat fel...


MTR
https://www.bitwizard.nl/mtr/

Snyggt, det har jag nog missat... verkar vara installerat som standard i Mint (och kanske Ubuntu)...

Marie SWE skrev:Jag tror inte det går i ett bash script... ( nyckelord=tror )
Jag tror man behöver skriva ett program i C eller C++ för att skapa en output där den tar ping resultatet och lägger till datum/tid stämpel bredvid och lägger in det i en databas typ MariaDB / MySQL och sedan där ifrån kan visa/skriva ut resultatet.

Med printf och awk kan du åstadkomma i stort sett samma saker i Bash som i C/C++
Hur du lägger in det i MariaDB/MySQL kan jag inte säga utan att veta hur du tänkt lägga in det...
Osprey
Ninja
 
Inlägg: 227
Blev medlem: fre maj 30, 2014 3:33 pm
Ort: Falkenberg

Re: Ett litet enkelt script - för att kolla om nätet finns...

Inläggav Marie SWE » tor okt 31, 2024 5:40 pm

Osprey skrev:
Marie SWE skrev:okej.. så jag skrev om det ännu en gång, då sleep funktionen är för tråkig, då man inte får visuell feed back på skärmen medans man väntar så man vet om det fortfarande körs eller om skriptet hängt sig. :roll:
Samt att ändra tiden är inte uppenbart smidigt.

Så jag skrev om sleep till en timer som räknar ner Dagar, Timmar, Minuter och Sekunder ifall man inte vill att skriptet ska köras för ofta.

Här kommer den omskrivna coden. :geek:
Snyggt script och lite bättre än mitt lilla enkla... :mrgreen: :mrgreen:

Marie SWE skrev:Jag tror inte det går i ett bash script... ( nyckelord=tror )
Jag tror man behöver skriva ett program i C eller C++ för att skapa en output där den tar ping resultatet och lägger till datum/tid stämpel bredvid och lägger in det i en databas typ MariaDB / MySQL och sedan där ifrån kan visa/skriva ut resultatet.

Med printf och awk kan du åstadkomma i stort sett samma saker i Bash som i C/C++
Hur du lägger in det i MariaDB/MySQL kan jag inte säga utan att veta hur du tänkt lägga in det...


Tackar tackar :mrgreen:

Jag har 6timmars erfarenhet av C så jag vet inte hur man sätter in det i en databas.. Visst att jag kan lära mig.. men... jag har inte lust :oops: :mrgreen:
Det är mycket i bash skript jag inte kan.. Jag lär mig medans jag löser "problemet" så att säga.
Jag fick ett ton med skript av en medlem på Mint.com som jag fiskar ut funktioner ifrån som ett blädderblock med fusklappar. som jag sedan modifierar för eget behov :geek:
Det är lätt att visualisera hur jag vill att något ska fungera.. sedan får jag fiska ut vad som behövs för att få visionen till praktik.
Men eftersom du vet att jag älskar terminalen sååå mycket :lol: så lägger jag inte mer än absolut nödvändig tid om jag inte måste... :roll:

Men ibland om jag känner mig sysslolös och vill få mig en tankenöt så kan jag lägga en halvtimma/timma som en utmaning att lösa ett problem, då jag är en problemlösare av naturen. :D
Så det med att skapa en snyggare loggfil.. :oops: jag får tyvärr be om ursäkt för att jag inte har lust att lösa det, då jag inte ser hur jag kan ha nytta av den kunskapen. :oops: så jag ber om ursäkt att jag inte ens försöker.
Marie SWE
Ninja
 
Inlägg: 309
Blev medlem: tis jan 31, 2023 6:30 pm

Re: Ett litet enkelt script - för att kolla om nätet finns...

Inläggav Mikael » tor okt 31, 2024 6:01 pm

Så här kollar jag i Windows:

ksnip_20241031-175919.png
ksnip_20241031-175919.png (19.21 KiB) Visad 635 gånger
---
LMDE 6 Faye@Mintbox Mini 2 Pro      "from freedom came elegance"
Mikael
Finansiär och Beskyddare
 
Inlägg: 2806
Blev medlem: lör jan 07, 2012 3:29 pm
Ort: Söråker

Re: Ett litet enkelt script - för att kolla om nätet finns...

Inläggav Osprey » fre nov 01, 2024 12:04 pm

Mikael skrev:Så här kollar jag i Windows:

ksnip_20241031-175919.png

Fast 192.168.1.243 finns förmodligen i det lokala nätverket, då får du ju ingen test av om förbindelsen med Internet fungerar.
Osprey
Ninja
 
Inlägg: 227
Blev medlem: fre maj 30, 2014 3:33 pm
Ort: Falkenberg

Re: Ett litet enkelt script - för att kolla om nätet finns...

Inläggav Mikael » fre nov 01, 2024 12:17 pm

Nä, i just det exemplet kollar jag om styrenheten för poolvärme finns med.
---
LMDE 6 Faye@Mintbox Mini 2 Pro      "from freedom came elegance"
Mikael
Finansiär och Beskyddare
 
Inlägg: 2806
Blev medlem: lör jan 07, 2012 3:29 pm
Ort: Söråker

Nästa

Återgå till Nätverk

Vilka är online

Användare som besöker denna kategori: Inga registrerade användare och 2 gäster

cron