Admins-Tipps.net - Tipps und Tricks rund um die EDV

Translate this page with Google
Traduire ce site avec Google

Software > Linux > Druckansicht
Menü:

Suche:
Google
gesamtes Web
Admins-Tipps.net



Links und Partner:

letzte Änderung am:
02.11.2004


Linux-Ecke

Hier gibt es Tipps rund um Linux.

Dieser Bereich wird betreut von Martin Zunke vom Ingenieurbüro für Informationssicherheit und Computernetze: www.schneider-zunke.de

Martin moderiert freundlicherweise auch den Linuxbereich im Forum.
Danke Martin!


Wenn Euch der eine oder andere Link oder Tipp weiterhelfen kann, freut mich das.

Tipps zu Soft- und Hardware sendet bitte per
Wenn Ihr dies wünscht, wird der Tipp mit Eurem Namen und einem Link zu eurer Webseite veröffentlicht.


Shellscripte - kurz und knackig …

Shellscripte sind das gleiche wie Batchdateien: ein Stapel von Befehlen, die nacheinander abgearbeitet werden. Allerdings sind solche Batchdateien unter Linux ein Allheilmittel: da man sowieso so gut wie alles mit Befehlen an der Konsole erledigen kann, sind Shellscripte unter Unizes ein unheimlich mächtiges Arbeitsmittel jedes Admins. Schreibt man selber Scripte, gerät man schnell in eine endlose Sucherei nach Hinweisen im Netz, wie sich bestimmte Dinge lösen lassen. Deshalb sollen hier kurz und knapp die Dinge erläutert werden, die ein Admin beim Schreiben von Scripten häufig braucht.
  • Einfügen / Ausführen eines anderen Shellscripts (externe Datei)

    z.B. eine Konfigurationsdatei in ein vorhandenes Script einbinden ./pfad/dateiname

    Tipp: der Punkt ist das entscheidende!!
    Der Punkt bzw. alternativ folgendes: source /pfad/dateiname fügen den Quelltext der entsprechenden Datei sozusagen in den Quelltext der aufrufenden Datei ein. Praktisch ist das, wenn man die Variablendeklarationen/definitionen in eine externe Datei auslagern will (Konfigurationsdatei). Die Datei wird eingelesen und mit dem Rest zusammen ausgeführt. Diese Anweisung erlaubt also die modulare Programmierung von Shellscripten.

  • Eine externe Datei mit einer Liste von Programmparametern abarbeiten, bis keine Einträge mehr gefunden werden.

    Beispiel: in einer Datei *liste* stehen untereinander IP-Adressen, die eine nach der anderen angepingt werden sollen (einmal).

    while read IPADRESSE
    do
       ping -c 1 $IPADRESSE
    done < liste

    Tipp: stehen 2 oder 3 Parameter nebeneinander in der Liste (getrennt durch Leerzeichen), dann einfach den read-Befehl anpassen:

    read PARAMETER1 PARAMETER2 PARAMETERx

  • Ausgabe eines Programmes in Variable speichern

    VARIABLE=`date` speichert Ausgabe von Befehl "date" als String in VARIABLE

  • Aus einem Shellscript heraus eine Email verschicken

    Eine sehr nützliche Angelegenheit, um z.B. Berichte über Backupvorgänge zu verschicken. Damit ist eine Fernüberwachung des Systemes möglich. Ich habe mir eine wöchentliche Systemmeldung aller meiner Server gebaut: Festplattenstatus, Logdateien etc.

    Einen laufenden Emailserver (am besten und schlanksten postfix) vorausgesetzt (der einen normalen POP3 als Relay benutzt und selbst nicht als Relay benutzt werden kann, Sicherheit!!) kann man den Befehl "sendmail" nutzen, um von der Konsole aus Mails zu verschicken. Unter Debian ist sendmail meist ein Link auf "exim", denn das Monster sendmail für jeden Rechner aufzusetzen wäre Wahnsinn.

    Ich selber nutze jedoch "mutt":

    mutt -s "Betreff" -i body empfänger -a anhang <.

    Als Body nutze ich eine Datei, in die ich vorher per Ausgabeumleitung den Emailtext generiert habe:

    date > body (packt das Datum rein)
    echo "Irgendwas" > body

    Als Anhang packe ich z.B. die wichtigsten Logdateien per gzip zusammen und schicke sie mit. Der Empfänger ist bei mir immer root, die reale Emailadresse (ich@meinedomain.de) ist in einer Datenbank hinterlegt (aliases). Postfix tauscht beim Versenden root gegen die richtige Adresse und nutzt den angegebenen Relayserver als Emailserver (kanonisches Senden). (eine Anleitung zum Aufsetzen von postfix für diese Zwecke kann ich auf Anfrage auch liefern)

    Und jetzt der entscheidende Trick: am Ende des Aufrufes von "mutt" hat der aufmerksame Leser möglicherweise das "<." bemerkt. Damit wird Mutt veranlaßt, die Email ohne Nachfrage einfach zu verschicken, keine weiteren Eingaben abzufordern und Fehlermeldungen ins Syslog zu ballern.


Admins-Tipps.net - Tipps und Tricks rund um die EDV &
Hosting-Tipps.net - Der Preis-Leistungs-Vergleich der Webhoster
sind Projekte von Stefan Mrosek
(c) 2004

Open Directory Project at dmoz.org