Daniels blogg
26 Mai/08 0

Gjør din server boksen diskusjon som i de gamle filmene

Dette er en dum geek ting, men du kanskje liker det. Hvorfor ikke la din penguin skje-server snakke med deg når det er behov for oppdateringer eller andre interessante ting?

Kode og config i disse eksemplene er testet på en debian boks.

Hva vi trenger:
En programvare for talesyntese
espeak er bra for dette formålet. konfigurerbar og rolige stemmen kvaliteten er OK.

apt - get install espeak

En programvare som kan utløse hendelser, når visse loggoppføringene vises
swatch er vår venn her. den leser logger i sanntid og utløser en kommando hvis et bestemt mønster er funnet.
I vårt tilfelle vil det bare utløse espeak å si noe.

apt - get install swatch

Nå som vi har våre verktøy gjør det mulig lage en prøve oppleser ...
Vi ønsker våre boksen til rapporten, dersom nye (ingen spam) mail ankom.

Jeg bruker SpamAssassin for å filtrere min mail.
Jeg får en linje som ligner på

Jul 26 16 : 34 : 04 star spamd [ 13365 ]: spamd : clean message (- 2.4 / 0.5 ) for mailbox : 1001 in 1.9 seconds , 7128 bytes .


in /var/ log / mail . log

in /var/ log / mail . log
hver gang en god meldinger når innboksen min.

Søn lage en config fil for swatch å se etter linjer som det

File: / etc / swatch / skinke

watchfor
/ clean message /
exec
"espeak new_mail &"

Det eneste som gjenstår å gjøre nå er å starte fargeprøven daemon

/ usr / bin / swatch -- daemon -- config - file =/ etc / swatch / ham -- tail - file =/var/ log / mail . log
Jeg tror du fikk poenget. Mulighetene er uendelige. Alt som er logget inn kan bli lest opp.

Men det finnes andre interessante muligheter. La oss si du vil at boksen skal rapportere nye oppdateringer er tilgjengelige for deg.
Denne lille skriptet kan gjøre det når det kjøres fra en cron-jobb gjenta:


#!/bin/bash
apt - get update
UPDATELINE =` apt-get --simulate upgrade | grep remove `
EINS =` echo $UPDATELINE | cut -d " " -f 1 `
ZWEI =` echo $UPDATELINE | cut -d " " -f 3 `
DREI =` echo $UPDATELINE | cut -d " " -f 6 `
VIER =` echo $UPDATELINE | cut -d " " -f 10 `
((
UPDATES = EINS + ZWEI + DREI + VIER ))
if [ $UPDATES - gt 0 ]; then
espeak "REPORT: i need $UPDATES updates! please install as soon as possible"
fi

Nå har du fått alle verktøyene for å gjøre din server en absolutt anoying brabbling boksen.
Enjoy.

Kommentarer (0) Trackbacks (0)

Denne artikkelen er skrevet enda eventuelle kommentarer.


Legg igjen en kommentar

Vennligst kopier strengen uRKRpw til feltet nedenfor:

Ingen trackbacks.