[Debian Testing] Dynamische MOTD

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • UPPERKEES
  • Registratie: Maart 2007
  • Niet online
Beste Tweakers,


Ik wil graag een dynamische MOTD maken voor mijn Debian machines. Ik wil hem in een crontab gooien waardoor hij elk uur wordt refreshed. Ik heb al een hoop lopen zoeken naar hoe ik dit kan doen, maar ik krijg het maar niet voor elkaar. Het onderstaande script kan niet gewoon staan in /etc/motd.tail | /etc/motd hij wordt ergens anders nog aangestuurd. Dit gebeurt via /etc/init.d/bootmisc.sh. Maar omdat ik niet teveel wil gaan 'slopen' raadpleeg ik eerst jullie even voordat ik experimenteel ga doen.

Mijn vraag is dus, hoe krijg ik het onderstaande script als MOTD, waarbij hij dus elk uur wordt refreshed zodat dingen zoals laatste logins bijgewerkt worden ;) Het moet natuurlijk kunnen als hij wordt aangeroepen via /etc/cron.hourly... Maar hoe doe ik dat goed zodat de MOTD ook echt veranderd?

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#!/bin/bash

echo
echo -e '\E[0;34m'"\033[1mLatest 5 /var/log/messages entries: \033[0m"
tail -n 5 /var/log/messages
echo
echo -e '\E[0;34m'"\033[1mLatest Hardware Errors: \033[0m"
dmesg | grep -i error | tail -n 3
echo
echo -e '\E[0;34m'"\033[1mLatest DMESG Messages: \033[0m"
dmesg | tail -n 3
echo
echo -ne '\E[0;34m'"\033[1mDisk Information:\033[0m"
echo
df
echo
echo -ne '\E[0;34m'"\033[1mUptime: \033[0m $(uptime | cut -d " " -f 5-18)"
echo 
echo
echo -e '\E[0;34m'"\033[1mLatest Logins: \033[0m"
last | head -n 5
echo
echo -e '\E[0;34m'"\033[1mLatest SSH Failures: Total Count:\033[0m $(grep sshd /var/log/messages|  awk '/failure/' | wc -l)"
grep sshd /var/log/messages|  awk '/failure/ {print $1,$3,$9,$10,$11,$12,$13}' /var/log/messages | tail -n 3
echo
echo -e '\E[0;31m'"\033[1mUnauthorized access is restricted to $(hostname).\033[0m"
echo -e '\E[0;31m'"\033[1mAll activity on $(hostname) will be logged and monitored for security reasons!\033[0m"
echo

[ Voor 3% gewijzigd door UPPERKEES op 28-12-2009 20:14 ]


Acties:
  • 0 Henk 'm!

  • BarthezZ
  • Registratie: Juli 2004
  • Niet online

BarthezZ

anti voetbal en slechte djs!

Moet dat perse in je motd? Ik zie een hoop info die eigenlijk alleen root-afhankelijk is... waarom gooi je dat niet gewoon in je .bashrc?

Acties:
  • 0 Henk 'm!

Verwijderd

of in je .profile

Acties:
  • 0 Henk 'm!

Verwijderd

./je_script.sh > /etc/motd

En dat in een /etc/cron.hourly script zetten. Bedoel je dat?

[ Voor 6% gewijzigd door Verwijderd op 28-12-2009 21:40 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Het betekent wel overigens dat je bij iedere keer dat je ergens moet inloggen dat je dat te zien krijgt..

Acties:
  • 0 Henk 'm!

  • Sallin
  • Registratie: Mei 2004
  • Niet online
Als ik het goed heb moet je in cron scriptjes volledige paden gebruiken bij commando's, of de paden definieren. Bovendien mag een scriptnaam geen '.' bevatten (dus niet script.sh maar script). Misschien dat je daarmee vooruit kan.

This too shall pass
Debian | VirtualBox (W7), Flickr


Acties:
  • 0 Henk 'm!

Verwijderd

Sallin schreef op maandag 28 december 2009 @ 21:48:
Als ik het goed heb moet je in cron scriptjes volledige paden gebruiken bij commando's, of de paden definieren. Bovendien mag een scriptnaam geen '.' bevatten (dus niet script.sh maar script). Misschien dat je daarmee vooruit kan.
De pad instellingen liggen aan je PATH variabele. Als deze goed staan dan hoef je ook geen volledige path namen te gebruiken. Hoe je er bij komt dat cronjobs geen . mogen bevatten weet ik niet. Dat klopt bij mij iig niet.

Acties:
  • 0 Henk 'm!

  • CyBeR
  • Registratie: September 2001
  • Niet online

CyBeR

💩

Verwijderd schreef op dinsdag 29 december 2009 @ 00:05:
[...]

De pad instellingen liggen aan je PATH variabele. Als deze goed staan dan hoef je ook geen volledige path namen te gebruiken. Hoe je er bij komt dat cronjobs geen . mogen bevatten weet ik niet. Dat klopt bij mij iig niet.
Voor sommige distro's geldt dat wel degelijk. Werkelijk geen idee welk idee daarachter zit moet ik zeggen.

All my posts are provided as-is. They come with NO WARRANTY at all.


Acties:
  • 0 Henk 'm!

Verwijderd

Aan de hand van /etc/init.d/bootmisc.sh kun je toch wel gewoon zien dat je je output simpelweg naar /var/run/motd moet sturen?

Als je het per se persistent wilt hebben stuur je de output naar /etc/motd.tail en dan roep je daarna hetzelfde aan als in /etc/init.d/bootmisc.sh gebeurt.

Acties:
  • 0 Henk 'm!

  • Sallin
  • Registratie: Mei 2004
  • Niet online
Verwijderd schreef op dinsdag 29 december 2009 @ 00:05:
[...]

De pad instellingen liggen aan je PATH variabele. Als deze goed staan dan hoef je ook geen volledige path namen te gebruiken. Hoe je er bij komt dat cronjobs geen . mogen bevatten weet ik niet. Dat klopt bij mij iig niet.
In principe bevat mijn post alle mogelijke fouten die ik heb gemaakt voordat ik mijn cronscriptje werkend kreeg. Mijn scriptje niet *.sh noemen was de laatste, dus van die paden kan je uitproberen.

This too shall pass
Debian | VirtualBox (W7), Flickr

Pagina: 1