discus + motd

Här diskuterar vi skal, kommandon och klassiska linuxverktyg.
Användarvisningsbild
AyuCrazy
Inlägg: 23
Blev medlem: 05 mar 2008, 16:09
OS: Ubuntu
Utgåva: 22.04 Jammy Jellyfish LTS
Ort: Stockholm
Kontakt:

discus + motd

Inlägg av AyuCrazy »

Vid SSH login till min server har jag ändrat MOTD till att visa lite mer än normalt, jag använder just nu idag detta extra som visas.

Kod: Markera allt

#!/bin/sh
echo
df -h --type=ext4
echo
vnstat -m
echo
Jag skulle dock vilja använda discus istället för df , men hur jag än försöker så får jag inte upp något när jag använder discus i motd.
Tacksam för hjälp för att få det fungera :kram:
[ Desktop : Ubuntu 20.04 ]
[ Laptop : Win10 ]
David Andersson
Inlägg: 1269
Blev medlem: 15 dec 2007, 03:20
OS: Xubuntu

Re: discus + motd

Inlägg av David Andersson »

AyuCrazy skrev: Jag skulle dock vilja använda discus istället för df , men hur jag än försöker så får jag inte upp något när jag använder discus i motd.
Inte nånting? Inte ens nåt felmeddelande? Syns fortfarande vnstat?

Körs motd-scriptet vid boot eller login? (Syns datum från vnstat?)

Ursäkta en dum fråga bara, du har väl inte samma flaggor på discus som på df?
Användarvisningsbild
Kirill
Inlägg: 1824
Blev medlem: 18 okt 2009, 11:50
OS: Ubuntu
Utgåva: 24.04 Noble Numbat LTS
Ort: Gränsfors
Kontakt:

Re: discus + motd

Inlägg av Kirill »

Annars kan du ju köra detta:

Kod: Markera allt

#!/bin/bash
CPUTIME=`ps -eo pcpu | awk 'NR>1' | awk '{tot=tot+$1} END {print tot}'`
CPUCORES=`cat /proc/cpuinfo | grep -c processor`

echo "
System Summary (collected `date`)

 - CPU Usage (average)       = `echo $CPUTIME / $CPUCORES | bc`%
 - CPU Cores		     = `echo $CPUCORES`
 - Memory free (real)        = `free -m | head -n 2 | tail -n 1 | awk {'print $4'}` Mb
 - Memory free (cache)       = `free -m | head -n 3 | tail -n 1 | awk {'print $3'}` Mb
 - Swap in use               = `free -m | tail -n 1 | awk {'print $3'}` Mb
 - System Uptime             =`uptime`
 - Public IP                 = `dig +short myip.opendns.com @resolver1.opendns.com`
 - Disk Space Used on /      = `df -H / | awk '{ a = $3 } END { print a }'` of `df -H / | awk '{ a = $2 } END { print a }'` (Available `df -H / | awk '{ a = $4 } END { print a }'`)
 - Disk Space Used on FTP1   = `df -H /media/FTP1 | awk '{ a = $3 } END { print a }'` of `df -H /media/FTP1 | awk '{ a = $2 } END { print a }'` (Available `df -H /media/FTP1 | awk '{ a = $4 } END { print a }'`)
 - Disk Space Used on FTP2   = `df -H /media/FTP2 | awk '{ a = $3 } END { print a }'` of `df -H /media/FTP2 | awk '{ a = $2 } END { print a }'` (Available `df -H /media/FTP2 | awk '{ a = $4 } END { print a }'`)
 - Disk Space Used on FTP2   = `df -H /media/FTP3 | awk '{ a = $3 } END { print a }'` of `df -H /media/FTP3 | awk '{ a = $2 } END { print a }'` (Available `df -H /media/FTP3 | awk '{ a = $4 } END { print a }'`)

" > /etc/motd
Webmaster för
Cracker.se Linux, IT-säkerhet, Mac & Boxee Box!

Mina guider
http://ubuntu-se.org/phpBB3/viewtopic.php?f=19&t=56551
Användarvisningsbild
AyuCrazy
Inlägg: 23
Blev medlem: 05 mar 2008, 16:09
OS: Ubuntu
Utgåva: 22.04 Jammy Jellyfish LTS
Ort: Stockholm
Kontakt:

Re: discus + motd

Inlägg av AyuCrazy »

David Andersson skrev:
AyuCrazy skrev: Jag skulle dock vilja använda discus istället för df , men hur jag än försöker så får jag inte upp något när jag använder discus i motd.
Inte nånting? Inte ens nåt felmeddelande? Syns fortfarande vnstat?

Körs motd-scriptet vid boot eller login? (Syns datum från vnstat?)

Ursäkta en dum fråga bara, du har väl inte samma flaggor på discus som på df?
Jag kör inte samma som df såklart ;) , har testat med olika flaggor utan resultat , övrigt visas men inget output från själva discus, blir bara en extra tom rad
Så den kör MOTD som det ska vid login, bara att det inte går att få någon output från discus, blir en tom rad istället.

@Kirill ; ditt script ser lite väll avancerat ut, hehe
[ Desktop : Ubuntu 20.04 ]
[ Laptop : Win10 ]
Användarvisningsbild
Kirill
Inlägg: 1824
Blev medlem: 18 okt 2009, 11:50
OS: Ubuntu
Utgåva: 24.04 Noble Numbat LTS
Ort: Gränsfors
Kontakt:

Re: discus + motd

Inlägg av Kirill »

AyuCrazy skrev: @Kirill ; ditt script ser lite väll avancerat ut, hehe
Avancerat och avancerat... :) Den ger dig en massa trevlig info om ditt system, hade dock ett annat som läste loggar om intrångsförsök, men det försvann.

Har kört med det själv, men ska utveckla det ännu mera. :D
Webmaster för
Cracker.se Linux, IT-säkerhet, Mac & Boxee Box!

Mina guider
http://ubuntu-se.org/phpBB3/viewtopic.php?f=19&t=56551
David Andersson
Inlägg: 1269
Blev medlem: 15 dec 2007, 03:20
OS: Xubuntu

Re: discus + motd

Inlägg av David Andersson »

AyuCrazy skrev: övrigt visas men inget output från själva discus, blir bara en extra tom rad
Inte ens om du kör discus i en terminal när du väl är inloggad?
AyuCrazy skrev: @Kirill ; ditt script ser lite väll avancerat ut, hehe
Vänta bara!

Man kan göra sin egen discus med df och awk:

Kod: Markera allt

df -m -xtmpfs -xdebugfs -xdevtmpfs | awk '{gsub("%","")} NR==1 {printf "\033[34m%-20s %10s %10s %10s%%  %-10s\033[0m\n",$6,$2,$4,$5,"Graph"} NR>1 {bar=($5+5)/10; printf "%-20s %10s %10s %10s%% [%-10s]\n",$6,$2,$4,$5,substr("=======***",0,bar)}'
Den formatterar om output från df till ungefär som discus. Tja, ser inte riktigt så avancerat ut som Kirills än. Att lägga till fler färger och kolumner lämnas som övning till läsaren. Sen ska du se det ser avancerat ut!
Användarvisningsbild
AyuCrazy
Inlägg: 23
Blev medlem: 05 mar 2008, 16:09
OS: Ubuntu
Utgåva: 22.04 Jammy Jellyfish LTS
Ort: Stockholm
Kontakt:

Re: discus + motd

Inlägg av AyuCrazy »

Både discus & pydf som jag också testat fungerar direkt i terminalen, men dom ger inget output i motd, bara en extra tom rad.
Din egna "discus" (df) fungerar utan problem :) , och ser väldigt trevlig ut :kram:

Skulle dock vara kul att klura ut varför discus & pydf inte klarar att ge output till motd, kanske går om man bara visste hur ???
[ Desktop : Ubuntu 20.04 ]
[ Laptop : Win10 ]
David Andersson
Inlägg: 1269
Blev medlem: 15 dec 2007, 03:20
OS: Xubuntu

Re: discus + motd

Inlägg av David Andersson »

AyuCrazy skrev: Skulle dock vara kul att klura ut varför discus & pydf inte klarar att ge output till motd, kanske går om man bara visste hur ???
Vet inte, men tillåt mej spekulera. Kan det vara så att modt-scriptet körs vid boot och sparar output i en textfil, som sedan visas vid login. I så fall, kolla om det finns nån logg där man kan se om nåt gick fel med motd vid boot? Om inte, omge ditt script (eller bara discus) med en redirect som loggar stderr till /tmp/nånting för att se om nåt går fel.

Nu vet jag. Tillåt mej komma med ett definitivt svar. Stderr från script i /etc/update-motd.d/ visas inte för användaren. Discus felar med följande meddelande

Kod: Markera allt

Traceback (most recent call last):
  File "/usr/bin/discus", line 489, in <module>
    execfile(os.environ['HOME'] + "/.discusrc")
  File "/usr/lib/python2.6/UserDict.py", line 22, in __getitem__
    raise KeyError(key)
KeyError: 'HOME'
När motd körs har ännu inte HOME satts och felmeddelanden syns inte. Om vi antar att discus egentligen inte behöver HOME så kan man sätta den tillfälligt

Kod: Markera allt

HOME=/ discus
Om du gör så i scriptet ska det funka. Fundera på säkerhetsaspekten av denna workaround. Jag tror den är okej.
Användarvisningsbild
AyuCrazy
Inlägg: 23
Blev medlem: 05 mar 2008, 16:09
OS: Ubuntu
Utgåva: 22.04 Jammy Jellyfish LTS
Ort: Stockholm
Kontakt:

Re: discus + motd

Inlägg av AyuCrazy »

Vissa delar av motd skapas var 10:e minut så vitt jag vet, men vissa delar, tex det jag lagt till manuellt skapas när man loggar in.

https://wiki.ubuntu.com/UpdateMotd
[ Desktop : Ubuntu 20.04 ]
[ Laptop : Win10 ]
Skriv svar

Återgå till "Terminalforum"