Start | Neuigkeiten | Publikationen | Vorträge | Projekte | Download | Impressum
MultiBoot-CDs erzeugen | RunCVS | Share and Money Management | Skripte

In meiner Zeit als Systemadministrator sind ein paar für mich sehr nützliche Skripte entstanden, die ich Euch nicht vorenthalten möchte.Da in meinen Skripten auch einzelne Elemente und Gedanken anderer Autoren eingeflossen sind, stehen alle Skripte unter GPL (englische Version, deutsche Version).


backup.amanda - Shellskript zur Steuerung von Amanda

Dateinamebackup.amanda [Signatur] [ChangeLog]
Größe5 KByte
Version0.4
Skriptsprache Shell (Bash)
Beschreibung Sicher kann man vieles auch über den crond einstellen, ich vermißte nur die Möglichkeit an bestimmten Tagen wie Brücken- und Feiertagen kontrolliert das Backup auszusetzen. Dadurch ist dieses Skript entstanden und es verrichtet bei mir zuverlässig seinen Dienst.
Das Skript kann regelmäßig via crond oder auch manuell aufgerufen werden. Dabei sollte der Aufruf immer als Benutzer amanda erfolgen.
Dieses Shellskript ermöglicht die kompfortable Sicherung der Daten mit Amanda.
Es bietet folgende zusätzliche Möglichkeiten:
  • Tage ohne Backup festlegen, zum Beispiel für Feiertage
  • Sicherung der MySQL-Datenbank über mysql_backup.pl von Peter Brown
  • Wochentage für ein volles Backup einstellen
  • Erzeugen von Labeln für Bänder an speziellen Tagen
  • Test auf eingelegtes Band

cvs.maillinginfo.pl - Formatiert und versendet cvs commit-Meldungen

Dateinamecvs.mailloginfo.pl.bz2 [Signatur]
Größe2 KByte
Version0.2b
Skriptsprache Perl
Beschreibung cvs.mailloginfo.pl versendet cvs commit-Meldungen per E-Mail an einen beliebigen Benutzer zum Beispiel eine Mailingliste. Dabei wird die commit-Meldung formatiert und versucht den Benutzernamen über ein LDAP-Verzeichnis aufzulösen. Dadurch kann die Email-Adresse des Benutzers als Absendeadresse angegeben werden.
Alles alles läuft mit Perl und einigen Standardmodulen von Perl.

cvs2hg.sh - Vereinfacht die Umwandung von CVS-Repository in Mercurial-Repositories

Dateinamecvs2hg.sh [Signatur]
Größe1 KByte
Version0.1
Skriptsprache Shell (Bash)
Beschreibung cvs2hg.sh wandelt eine beliebige Anzahl von CVS-Modulen oder ein gesamtes CVS-Repository in Mercurial-Repositories um. Dabei wird jedes Modul innerhalb eines CVS-Repositories in ein eigenes Mercurial-Repository überführt. Die Standard-CVS-Verzeichnisse wie zum Beispiel CVSROOT oder CVS werden ignoriert.

Anwendungsbeispiel:
  1. Temporäres Verzeichnis anlegen
    > mkdir convert && cd convert
  2. Gesamte CVS-Repository oder auch einzelne Module auschecken
    Syntax:
    cvs -d:pserver:<Benutzer>@<CVS-Server>:<absoluter Pfad zum Repository>
    
    
    Beispiel:
    > cvs -d:pserver:carsten@localhost:/home/cvs/projects/repository
    
    > cvs checkout .
  3. Datei mit der Zuordnung von CVS-Benutzernamen zu Mercurial-Benutzernamen anlegen
    Beispiel:
    > cat authors
    
    carsten=Carsten Grohmann
  4. Alle Module in eigene Mercurial-Repositories konvertieren
    > cvs2hg.sh *

getweblogfiles.pl - Ein Perlskript zur automatischen Auswertung von Logdateien

Dateinamegetweblogfiles.pl.bz2 [Signatur] [ChangeLog]
Größe15 KByte
Version2.3
Skriptsprache Perl
Dokumentation als html (in Englisch)
Beschreibung Holt und verarbeitet Logdateien des Webservers mit AWStats. Da alles über eine kommentierte Konfiguratiosndatei gesteuert ist, entfällt sich regelmäßig wiederholende Tiparbeit.
Die Ausgaben des Skripts werden auf Wunsch per Mail versandt. Die Konfiguration erfolgt über eine kommentierte Datei und sollte sich auf für andere Programme einfach nutzen lassen.
Für die aktuelle Version 2.2 wurde das Skript intern überarbeitet und verbessert. Auch wurden einige Bugs behoben. Zum Beispiel ist nun Passive FTP problemlos aktivierbar / deaktivierbar ist, was in den letzten Versionen nicht voll implementiert war.
Die Version 2.3 bringt eine eigene Implementierung von cat() mit benötigt daher das Modul File::Cat, daß meist zusätzlich installiert werden mußte, nicht mehr.
Details aller Änderungen stehen wie immer im ChangeLog.

makenetworkdrives.pl - Erzeugt Domänenloginskripte

Dateinamemakenetworkdrives.pl.bz2 [Signatur] [ChangeLog]
Größe5 KByte
Version0.4a
Skriptsprache Perl
Dokumentation als html
Beschreibung Erstellt aus der Sambakonfigurationsdatei, smbpasswd und /etc/group für jeden Sambabenutzer ein spezifischen Loginskript die ein NT- oder W2k-Domäne. Die Sambakonfiguration muß lediglich unter jeder zu verwendenden Freigabe eine Kommentarzeile mit dem gewünschten Laufwerksbuchstaben und eine mit der passenden Unixgruppe eingefügt werden. Somit bekommt jeder Benutzer der Mitglied der Gruppe ist, den richtigen Eintrag in sein Loginskript geschrieben. Mit den passende Skripten kann das Leben doch so schön und einfach sein.

mkfloppyimg.sh - Vergößert das Abbild einer Diskette

Dateinamemkfloppyimg.sh [Signatur] [ChangeLog]
Größe3 KByte
VersionRevision 1.3
Skriptsprache Shell
Beschreibung Vergrößert das bootfähige Abbild einer Diskette auf eine frei wählbare Größe. Dabei bleibt der Inhalt erhalten und das neu erzeugte Abbild ist ebenfalls bootfähig.

power.sh - Vereinfacht das Hoch- oder Runtersetzen des Prozessortaktes

Dateinamepower.sh [Signatur] [ChangeLog]
Größe4 KByte
Version0.1
Skriptsprache Shell (Bash)
Beschreibung Setzt den Prozessortakt auf das Minimum oder das Maximum. Zusätzlich kann noch der Status der Batterie mit angefragt werden.
Andere Programme zum Steuern der Taktfrequenz dürfen nicht gleichzeitig mit diesem Skript verwendet werden.

sortCLF.pl - Sortiert eine Logdatei im CLF-Format

DateinamesortCLF.pl.bz2 [Signatur]
Größe652 Byte
Version0.1
Skriptsprache Perl
Beschreibung Sortiert eine Logdatei nach dem Datum der Einträge. Dabei können die Daten entweder von der Standardeingabe oder aus Dateien gelesen werden. Die Ausgabe erfolgt auf die Standardausgabe.

sort_passwd.pl - Sortiert etc/passwd und /etc/shadow

Dateinamesort_passwd.pl.bz2 [Signatur]
Größe1 KByte
Version0.1
Skriptsprache Perl
Beschreibung sortpasswd.pl sortiert /etc/passwd und /etc/shadow nach der Benutzer-ID (uid). Desweiteren wird die Stimmigkeit der beiden Dateien überprüft und nicht korrespondierende Eintröge gemeldet.

startboinc.sh - Shellskript um den BOINC-Klient automatisch zu starten

Dateinamestartboinc.sh [Signatur]
Größe2 KByte
Version0.1
Skriptsprache Shell (Bash)
Beschreibung Über dieses Skript kann der BOINC-Klient automatisch während des Bootprozeßes gestartet werden.
Die Konfiguration des Skriptes erfolgt über Variablen im Skript.
Das Skript kann mit chkconfig --add startboinc.sh in den Bootprozeß eingebunden werden.

startpppd.sh - Wrapper zum manuellen Starten von pppd

Dateinamestartpppd.sh [Signatur]
Größe4 KByte
Version
Skriptsprache Shell (Bash)
Beschreibung Dieses Skript fragt nach dem Paßwort für eine Verbindung, trägt dies in die ppp-Paßwortdatei ein und startet anschließen pppd. Danach wird das Paßwort wieder aus der Datei gelöscht.
Durch diese Vorgehensweise erscheinen die Paßwörter im Gegensatz zu anderen Skripten, weder in der Prozeßtabelle noch im Syslog.

supernetting.py - Faßt Subnet-Adressen zusammen

Dateinamesupernetting.py [Signatur] [ChangeLog]
Größe28 KByte
Version1.0
Skriptsprache Python
Dokumentation als html (mit Rahmen) oder html (rahmenlos)
Beschreibung supernetting.py faßt Subnet-Adressen zusammen. Dabei werden spezifischere Adressen aus der Liste entfernt, wenn sie schon in einer allgemeineren Subnet-Adresse enthalten sind.
Weiterhin werden zwei aufeinander folgende Subnet-Adressen unter bestimmten Umständen zu einer Allgemeineren zusammengefaßt. Details dazu enthält die Dokumentation.
Man kann dieses Skript nutzen, um kleinere Routing-Tabellen oder kompaktere Firewall-Regelsätze zu erhalten.

umlaute2html.pl - Umwandlung von Umlauten in HTML-Code

Dateinameumlaute2html.pl.bz2 [Signatur] [ChangeLog]
Größe2 KByte
Version2.1b
Skriptsprache Perl
Dokumentation als html
Beschreibung Dieses Perlskript wandelt Umlaute und Sonderzeichen in HTML-konforme Ausdrücke um. Dabei ist es vielfältig konfigurierbar.
Es sind folgende Optionen verfügbar:
  • Anlegen von Sicherheitskopien
  • Endungen der Sicherheitskopien
  • Endungen der Quelldateien
  • Unterdrückung aller Ausgaben

weekly.py - Verschickt die Tagebucheinträge einer Woche per Email

Dateinameweekly.py [Signatur] [ChangeLog]
Größe20 KByte
Version0.5
Skriptsprache Python
Dokumentation als html (mit Rahmen) oder html (rahmenlos)
Beschreibung Mit weekly.py lassen sich die Einträge eines persönlichen Tagebuchs oder einer Logdatei wochenweise per Mail versenden. Dies kann sehr nützlich sein, um wöchentliche Arbeitsberichte zu versenden. Die lästige Suche nach den richtigen Einträgen vergangener Wochen übernimmt das Skript.
Die passenden Logeinträge lassen sich zum Beispiel gut mit dem Shell-Skript today.sh von Axel Wachtler erstellen.

writeCD - Ein Shellskript um CDs komfortabel zu brennen

DateinamewriteCD [Signatur] [ChangeLog]
Größe36 KByte
Version0.7g
Skriptsprache Shell (Bash)
Beschreibung Ein Bash-Skript zum Erzeugen von Multisession-CDs mit mkisofs, cdrecord und sudo (falls die Rechte fehlen). Es kann auch CDRWs handhaben. Als Einschränkung gilt nur, daß der Benutzer ohne root-Rechte und ohne Lese- und Schreibrechte auf die SCSI-Devices nur die erste Session mit sudo erstellen kann. Mit den entsprechenden Rechten funktioniert es problemlos. Mit sudo natürlich auch.
Neues Das ChangeLog bietet eine detailierte Liste der Änderungen. Die beiden Wichtigsten sind:
  • Automatische Erkennung von Brennern hinzugefügt
  • Option zum Schreiben eines ISO-Abbildes hinzugefügt
Zurück zum Seitenanfang

URL: http://www.carstengrohmann.de/skripte.html Copyright 2002 - 2010 Carsten Grohmann