Vraag


Acties:
  • 0 Henk 'm!

  • himlims_
  • Registratie: Juni 2000
  • Niet online

himlims_

🐧 Linux HOoligan

Topicstarter
>Knip plaatje<

via de ~./ssh/rc file heb ik een 'soort van motd' gemaakt; deze geeft me bij connecten van host was standaard info over de machine weer (welke diensten draaien, ip's die up zijn, laatste update rondje, en .. laatste 10 records van debian security advisory - https://www.debian.org/security/#DSAS)

die laatste was gisteren onbereikbaar, met het gevolg dat mijn brak in elkaar gedraaid scriptje bleef wachten tot die info beschikbaar was. Gevolg; ik kon de bak niet meer in (via omweg, andere user wel .. gelukkig)

ben totaal geen programmeur, maar met beetje frotten, google etc. heb ik iets functioneels gekregen. Maar [..] hoe bouw ik een timed-out in? zodat bij niet bereiken van DSAS, de prompt uiteindelijk wel getoont wordt :)


dat welkom ding heb ik opgesplits in 3 losse files (header, systeem info, debian securty crap)

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
##########
## DEBIAN SECURITY ADVISORY
##########

# KLEURTJES
YELLOW=$(tput setaf 003);
WHITE=$(tput setaf 007);

## DSA HEADER
echo " ${YELLOW}    Debian Security Advisory${WHITE}";

## FETCH DSA FILE DEBIAN
wget "https://www.debian.org/security/dsa" -q -o /dev/null

# FILTER <TITLE> CONTENT
cat dsa | grep -oP '(?<=title>)[^<]+' | sed 's/ /        :  /' | sed 's/^/ /' |  sed '1d' | sed '6,15d'

# REMOVE DSA FILE
rm dsa

[ Voor 11% gewijzigd door himlims_ op 05-11-2021 18:20 ]

⭐Game Profiles: 🕹️Steam - 🎮PSN - 🇪🇦 GoT_Hollandhards

Beste antwoord (via himlims_ op 05-11-2021 11:17)


  • simson0606
  • Registratie: Juni 2015
  • Laatst online: 19-09 15:40
Je kan wget een timeout meegeven met de optie -T (En daarachter de tijd in seconden)

edit: mooie welkomst pagina trouwens!

[ Voor 19% gewijzigd door simson0606 op 05-11-2021 11:18 ]

Alle reacties


Acties:
  • 0 Henk 'm!

  • nvaert1986
  • Registratie: September 2016
  • Laatst online: 12-09 21:53
In bash kun je simpelweg een if of while statement maken met het timeout commando. Is dat wat je zoekt?

Acties:
  • Beste antwoord
  • +1 Henk 'm!

  • simson0606
  • Registratie: Juni 2015
  • Laatst online: 19-09 15:40
Je kan wget een timeout meegeven met de optie -T (En daarachter de tijd in seconden)

edit: mooie welkomst pagina trouwens!

[ Voor 19% gewijzigd door simson0606 op 05-11-2021 11:18 ]


Acties:
  • 0 Henk 'm!

  • himlims_
  • Registratie: Juni 2000
  • Niet online

himlims_

🐧 Linux HOoligan

Topicstarter
--connect-timeout=seconds
-T seconds
--timeout=seconds
--dns-timeout=seconds

--- niet goed opgelet bij de man instructies :X

⭐Game Profiles: 🕹️Steam - 🎮PSN - 🇪🇦 GoT_Hollandhards


Acties:
  • 0 Henk 'm!

  • nvaert1986
  • Registratie: September 2016
  • Laatst online: 12-09 21:53
Alternatief:

timeout 120 bash script.sh
exit=$?

if [[ $exit -eq xxx ]]; then
bash dosomething.sh
fi

xxx vervangen met het aantal seconde

Acties:
  • 0 Henk 'm!

  • himlims_
  • Registratie: Juni 2000
  • Niet online

himlims_

🐧 Linux HOoligan

Topicstarter
thanks, ga dat eens avonturen

⭐Game Profiles: 🕹️Steam - 🎮PSN - 🇪🇦 GoT_Hollandhards


Acties:
  • +3 Henk 'm!

  • DataGhost
  • Registratie: Augustus 2003
  • Laatst online: 21:26

DataGhost

iPL dev

Ik zou persoonlijk mijn inlog op geen enkele manier af laten hangen van verbindingen naar externe diensten. Logischer zou ik een cronjob vinden die elke X minuten dat tekstje in elkaar knutselt waarna je die gewoon cat in je rc, of dat je in ieder geval met een cronjob alle externe links cachet. Hoe vaak veranderen die nou?

Acties:
  • 0 Henk 'm!

  • himlims_
  • Registratie: Juni 2000
  • Niet online

himlims_

🐧 Linux HOoligan

Topicstarter
@DataGhost denk dat je daar een vele betere oplossing hebt dan nu bedacht had, dank daarvoor - heb weer wat te frotten

⭐Game Profiles: 🕹️Steam - 🎮PSN - 🇪🇦 GoT_Hollandhards


Acties:
  • 0 Henk 'm!

  • Hero of Time
  • Registratie: Oktober 2004
  • Laatst online: 00:59

Hero of Time

Moderator LNX

There is only one Legend

Met @DataGhost. In dit geval zou je het misschien in de MOTD willen ipv de aparte ssh rc. Ubuntu doet dat al met hun eigen distro. De MOTD is juist uitgevonden om zoiets makkelijks te maken.

Commandline FTW | Tweakt met mate


Acties:
  • 0 Henk 'm!

  • himlims_
  • Registratie: Juni 2000
  • Niet online

himlims_

🐧 Linux HOoligan

Topicstarter
Motd heb ik overwogen, en kan via script user restricties opleggen. Echter wilde ik dit puur alleen voor mijzelf, en zo min mogelijk andere users betrekken/belasten. Ik liep daarbij ook tegen beperking aan (geloof opvragen van info/data on weer te geven)

Oplossing van @DataGhost Vind ik wel eleganter.

De details moet dat nog even bekijken; stel ga op 101 machines zo'n cron draaien (doet weinig qua resources) maar sowieso wel veel requests en resources dan realistisch nodig is. (Nu laatste data enkel wanneer op bak-x inlog)

De persoonlijke ssh-rc ging eigenlijk al tijden goed - totdat Debian niet bereikbaar bleek.

En misschien is mijn benadering compleet verkeerd - echter kreeg ik geen passende oplossing gevonden die aansluit bij mijn initiële wens. Vandaar de bovenstaande "oplossing"

Mocht iemand daar een tool/pakketje/scriptje voor kennen wat iets vergelijkbaars kan?! Hoor graag

Allen vast bedankt voor meedenken. Had die wget-man page te vluchtig "gelezen"

⭐Game Profiles: 🕹️Steam - 🎮PSN - 🇪🇦 GoT_Hollandhards


Acties:
  • 0 Henk 'm!

  • DataGhost
  • Registratie: Augustus 2003
  • Laatst online: 21:26

DataGhost

iPL dev

Heb je die advisories vaker dan 1x per dag nodig? Want dat is echt geen heftige belasting. Heftiger is wanneer je misschien 50x inlogt op dezelfde dag, waarbij je nu bij elke inlog dat ding ophaalt, parset en format voordat je het resultaat laat zien. Daar kan je cronjob bijna twee maanden voor draaien. Mocht je het toch per se met een time-out tijdens het inloggen willen doen zou ik alsnog aanraden om het (eind)resultaat lokaal te cachen en alleen een nieuwe ophaalpoging te doen als je lokale cache een dag oud is.
Pagina: 1