<?xml version="1.0" encoding="utf-8" ?>

<rss version="2.0" 
   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
   xmlns:admin="http://webns.net/mvcb/"
   xmlns:dc="http://purl.org/dc/elements/1.1/"
   xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
   xmlns:wfw="http://wellformedweb.org/CommentAPI/"
   xmlns:content="http://purl.org/rss/1.0/modules/content/"
   >
<channel>
    
    <title>adminstories</title>
    <link>http://adminstories.de/</link>
    <description>Aus dem (kann man es noch) Leben (nennen?) eines Administrators</description>
    <dc:language>de</dc:language>
    <generator>Serendipity 1.6.2 - http://www.s9y.org/</generator>
    <pubDate>Thu, 22 Mar 2012 05:01:41 GMT</pubDate>

    <image>
        <url>/uploads/Logo.png</url>
        <title>RSS: adminstories - Aus dem (kann man es noch) Leben (nennen?) eines Administrators</title>
        <link>http://adminstories.de/</link>
        <width></width>
        <height></height>
    </image>

<item>
    <title>Wie geht es hier weiter?</title>
    <link>http://adminstories.de/index.php?/archives/141-Wie-geht-es-hier-weiter.html</link>
            <category>adminstories.de</category>
    
    <comments>http://adminstories.de/index.php?/archives/141-Wie-geht-es-hier-weiter.html#comments</comments>
    <wfw:comment>http://adminstories.de/wfwcomment.php?cid=141</wfw:comment>

    <slash:comments>6</slash:comments>
    <wfw:commentRss>http://adminstories.de/rss.php?version=2.0&amp;type=comments&amp;cid=141</wfw:commentRss>
    

    <author>nospam@example.com (Dirk Deimeke)</author>
    <content:encoded>
    Mich hat der &lt;a href=&quot;http://adminstories.de/index.php?/archives/139-Planaenderung.html&quot; title=&quot;Planaenderung  - adminstories&quot;&gt;Weggang von Ramon&lt;/a&gt; auch hart getroffen und ich hatte jetzt die Gelegenheit, ein paar Gedanken in den Fortbestand dieses Blogs zu investieren.&lt;br /&gt;
&lt;br /&gt;
Vorab: Die Domain ist bis zum 22.11.2012 bezahlt und so lange lasse ich das Blog wenigstens Online.&lt;br /&gt;
&lt;br /&gt;
Adminstories ist (war) ein Projekt von Ramon und mir und ist (war) mit beiden von uns eng verbunden. Administration, auch als &quot;Meta-Thema&quot; liegt mir am Herzen und ist mein Steckenpferd, ich werde es aber neben anderen Verpflichtungen nicht schaffen, einmal in der Woche einen Artikel zu schreiben. &lt;br /&gt;
&lt;br /&gt;
Ein Blog lebt aber von Kontinuitaet und von regelmaessigen Eintraegen. Momentan sehe ich nicht, auch nicht mit &quot;Fremd&quot;-Autoren, dass diese Kontinuitaet gewaehrleistet wird.&lt;br /&gt;
&lt;br /&gt;
Mit anderen Worten: Das Blog wird sterben.&lt;br /&gt;
&lt;br /&gt;
Aber ich kann Euch beruhigen, die Inhalte bleiben im Netz. Ich denke gerade darueber nach, die Artikel in ein Wiki einzubauen und so online zu behalten. Dazu kommt, dass ein neues Format im Entstehen ist. Nur so viel dazu, es wird um Open-Source-Software gehen und das unabhaengig vom zu Grunde liegenden Betriebssystem.&lt;br /&gt;
&lt;br /&gt;
Das Thema Administration werde ich in meinem eigenen Blog weiter verfolgen.&lt;br /&gt;
&lt;br /&gt;
Eure Gedanken dazu interessieren mich. 
    </content:encoded>

    <pubDate>Wed, 21 Mar 2012 09:57:00 +0100</pubDate>
    <guid isPermaLink="false">http://adminstories.de/index.php?/archives/141-guid.html</guid>
    <category>adminstories.de</category>

</item>
<item>
    <title>KW 2012/11 - Fundstuecke</title>
    <link>http://adminstories.de/index.php?/archives/137-KW-201211-Fundstuecke.html</link>
            <category>Schnippsel</category>
    
    <comments>http://adminstories.de/index.php?/archives/137-KW-201211-Fundstuecke.html#comments</comments>
    <wfw:comment>http://adminstories.de/wfwcomment.php?cid=137</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://adminstories.de/rss.php?version=2.0&amp;type=comments&amp;cid=137</wfw:commentRss>
    

    <author>nospam@example.com (Ramon Kukla)</author>
    <content:encoded>
    &lt;strong&gt;Kalenderwoche 10, 12.-18.03.2012&lt;/strong&gt;&lt;br /&gt;
&lt;br /&gt;
Fuer alle, die gerne etwas mehr als nur an der Oberflaeche kratzen moechten ist sicher &quot;&lt;a href=&quot;http://www.dedoimedo.com/computers/kdump.html&quot; title=&quot;http://www.dedoimedo.com/computers/kdump.html&quot;&gt;Collecting and analyzing Linux kernel crashes&lt;/a&gt;&quot; sowie der auf dem ersten Artikel aufbauende Beitrag &quot;&lt;a href=&quot;http://www.dedoimedo.com/computers/crash-analyze.html&quot; title=&quot;http://www.dedoimedo.com/computers/crash-analyze.html&quot;&gt;Analyzing Linux kernel crash dumps with crash&lt;/a&gt;&quot; interessant. 
    </content:encoded>

    <pubDate>Mon, 19 Mar 2012 00:00:00 +0100</pubDate>
    <guid isPermaLink="false">http://adminstories.de/index.php?/archives/137-guid.html</guid>
    
</item>
<item>
    <title>Planaenderung</title>
    <link>http://adminstories.de/index.php?/archives/139-Planaenderung.html</link>
            <category>adminstories.de</category>
    
    <comments>http://adminstories.de/index.php?/archives/139-Planaenderung.html#comments</comments>
    <wfw:comment>http://adminstories.de/wfwcomment.php?cid=139</wfw:comment>

    <slash:comments>9</slash:comments>
    <wfw:commentRss>http://adminstories.de/rss.php?version=2.0&amp;type=comments&amp;cid=139</wfw:commentRss>
    

    <author>nospam@example.com (Ramon Kukla)</author>
    <content:encoded>
    Hallo liebe Leser. Heute gibt es mal keinen klassischen Beitrag, sondern mehr eine Information aus dem &quot;Maschinenraum&quot;.&lt;br /&gt;
&lt;br /&gt;
Ich, also Ramon, werde mich (erst mal?) aus allen Dingen, die das Internet betreffen (exklusive Mail und mal nach Informationen suchen) zurueck ziehen. Damit einhergehend werde ich auch meine Mitarbeit an verschiedenen Projekten beenden. Damit ist dann auch sowas wie Adminstories gemeint.&lt;br /&gt;
&lt;br /&gt;
Das ist insofern schade, als dass Dirk und ich noch tolle Ideen hatten und ich Dirk nun im Grunde alleine lasse. Das ist doof fuer Dirk und schade fuer mich. Aber fuer mich gibt es (in erster Linie) familiaere Gruende, die mich zu dem Schritt bewogen haben. Im Detail ist das ganze natuerlich ungleich komplexer, aber hat auf Adminstories auch nichts zu suchen ;)&lt;br /&gt;
&lt;br /&gt;
Ich danke allen, die uns immer gelesen haben und mit tollen Kommentaren belohnt haben. Ich danke vor allem aber auch Dirk, der fuer mich persoenlich ein fantastischer Projektpartner war. Das Ende kommt auch fuer ihn sehr ueberraschend, aber er hat Verstaendnis fuer meine Gruende. Leider war mein Ende nicht nur sehr ueberraschend. Meine &quot;interne&quot; Ankuendigung war auch sehr ungluecklich. Aber leider ist es so, dass man eben auch Fehler macht, die nicht &quot;mal eben&quot; wieder gut zu machen sind. Lernen kann man also immer etwas. Nicht nur im technischen, sondern auch im sozialen Umfeld.&lt;br /&gt;
&lt;br /&gt;
Danke und bleibt &lt;a href=&quot;http://dirk.deimeke.net/&quot; title=&quot;Dirks Logbuch&quot;&gt;Dirk&lt;/a&gt; &lt;a href=&quot;https://plus.google.com/102874704064476529613&quot; title=&quot;&quot;&gt;treu&lt;/a&gt;! 
    </content:encoded>

    <pubDate>Fri, 16 Mar 2012 09:00:00 +0100</pubDate>
    <guid isPermaLink="false">http://adminstories.de/index.php?/archives/139-guid.html</guid>
    
</item>
<item>
    <title>KW 2012/10 - Fundstuecke</title>
    <link>http://adminstories.de/index.php?/archives/136-KW-201210-Fundstuecke.html</link>
            <category>Schnippsel</category>
    
    <comments>http://adminstories.de/index.php?/archives/136-KW-201210-Fundstuecke.html#comments</comments>
    <wfw:comment>http://adminstories.de/wfwcomment.php?cid=136</wfw:comment>

    <slash:comments>2</slash:comments>
    <wfw:commentRss>http://adminstories.de/rss.php?version=2.0&amp;type=comments&amp;cid=136</wfw:commentRss>
    

    <author>nospam@example.com (Dirk Deimeke)</author>
    <content:encoded>
    &lt;strong&gt;Kalenderwoche 10, 05.-11.03.2012&lt;/strong&gt;&lt;br /&gt;
&lt;br /&gt;
Der sehr desillusionierende Artikel &lt;a href=&quot;http://www.dwheeler.com/essays/filenames-in-shell.html&quot; title=&quot;Filenames in Shell&quot;&gt;Filenames and Pathnames in Shell: How to do it correctly&lt;/a&gt; listet auf, was man alles unternehmen muesste, um moeglichst alle erlaubten Dateinamen in Suchen und Schleifen zu treffen. Ich zitiere mal &lt;a href=&quot;http://beckingham.net/&quot; title=&quot;Nothing here&quot;&gt;Paul&lt;/a&gt;, von dem ich den Link habe: &quot;This makes me cry.&quot;.&lt;br /&gt;
&lt;br /&gt;
Mal anschauen, vielleicht ist das ja etwas: &lt;a href=&quot;http://www.linuxandlife.com/2012/03/nmon-nice-monitoring-tool-for-linux.html&quot; title=&quot;Nmon - a nice monitoring tool for Linux ~ Linux and Life&quot;&gt;Nmon - a nice monitoring tool for Linux&lt;/a&gt; 
    </content:encoded>

    <pubDate>Mon, 12 Mar 2012 00:00:00 +0100</pubDate>
    <guid isPermaLink="false">http://adminstories.de/index.php?/archives/136-guid.html</guid>
    <category>Schnippsel</category>

</item>
<item>
    <title>Skripte</title>
    <link>http://adminstories.de/index.php?/archives/138-Skripte.html</link>
            <category>Automatisierung</category>
    
    <comments>http://adminstories.de/index.php?/archives/138-Skripte.html#comments</comments>
    <wfw:comment>http://adminstories.de/wfwcomment.php?cid=138</wfw:comment>

    <slash:comments>8</slash:comments>
    <wfw:commentRss>http://adminstories.de/rss.php?version=2.0&amp;type=comments&amp;cid=138</wfw:commentRss>
    

    <author>nospam@example.com (Dirk Deimeke)</author>
    <content:encoded>
    Warum ist eigentlich das Verstaendnis (wenigstens einer) Skriptsprache in der Systemadministration so wichtig?&lt;br /&gt;
&lt;br /&gt;
Die Antwort ist sehr einfach: Weil sich damit Aufgaben automatisieren lassen. Automatisierung fuehrt als Nebennutzen dazu, dass Arbeitsablaeufe reproduzierbar werden.&lt;br /&gt;
&lt;br /&gt;
Anders als bei in Maschinensprache uebersetzten Programmen bestehen Skripte aus ASCII-Code, der auf dem System lesbar ist. Das sollte man nicht mit Dokumentation verwechseln, aber es hilft einem selber und eventuell den Kollegen nachzuvollziehen, was ein Skript tut und warum es bestimmte Resultate oder Fehler zeigt.&lt;br /&gt;
&lt;br /&gt;
Dabei ist es enorm hilfreich, einen Programmierstil zu verwenden, der die Lesbarkeit eines Skriptes auch foerdert und das ist unabhaengig von der gewaehlten Sprache. Ja, auch in Perl kann man lesbaren Code schreiben und das ist gar nicht einmal so schwer. Ich habe einige Administratoren kennen gelernt, die es als Schutz ihres Arbeitsplatzes verstanden haben, Code zu schreiben, den niemand ausser ihnen versteht. Das grosse Problem dabei ist, dass sie selber ihren eigenen Code sechs Monate nach dem sie ihn geschrieben haben nicht mehr verstehen. &lt;br /&gt;
&lt;br /&gt;
Nur ein Gedanke: Wenn die Arbeit eh doppelt gemacht werden muss, kann der Chef sich auch einen neuen dafuer suchen. Jeder ist ersetzbar, aber wenn jemand (sehr) gute Arbeit leistet, ist die Huerde fuer eine Kuendigung hoeher. Die eigene Arbeitsqualitaet und die Professionalitaet ist der beste Schutz vor Kuendigung.&lt;br /&gt;
&lt;br /&gt;
Ja, auch klassische Administratoren sind Programmierer, wenn sie ihren Job gut machen, da kann Admin auch mal ein Programmierbuch zur Hand nehmen, um sich fortzubilden. Bei O&#039;Reilly ist &lt;a href=&quot;http://shop.oreilly.com/product/9780596802301.do&quot; title=&quot;The Art of Readable Code&amp;#160;-&amp;#160;O&#039;Reilly Media&quot;&gt;The Art of Readable Code&lt;/a&gt; erschienen, was sich &lt;a href=&quot;http://paperc.de/27396-the-art-of-readable-code-9781449321383#!/pages/1&quot; title=&quot;The Art of Readable Code von Dustin Boswell; Trevor Foucher als eBook bei PaperC lesen.&quot;&gt;bei Paperc gratis&lt;/a&gt; nach kostenfreier Anmeldung lesen laesst.&lt;br /&gt;
&lt;br /&gt;
Den Jeningen, denen das mit dem Buch zu viel ist, moechte ich drei einfache Tipps mit auf den Weg geben:&lt;br /&gt;
&lt;ol&gt;&lt;br /&gt;
&lt;li&gt;Nutzt sprechende Funktions- und Variablennamen. &lt;br /&gt;Ja, es ist mehr Arbeitsaufwand, aber der macht sich bezahlt. Ich bekomme gerade noch zugerufen, dass man sich die &lt;a href=&quot;https://secure.wikimedia.org/wikipedia/de/wiki/Ungarische_Notation&quot; title=&quot;&quot;&gt;Ungarische Notation&lt;/a&gt; mal anschauen sollte. Dem schliesse ich mich an, die sieht gar nicht schlecht aus.&lt;/li&gt;&lt;br /&gt;
&lt;li&gt;Nutzt Einrueckungen, wenn die Programmiersprache es zulaesst.&lt;br /&gt;Einrueckungen strukturieren Code und machen ihn leichter ueberschaubar. Tipp am Rande: Ein Befehl pro Zeile reicht, Zeilen nach Moeglichkeit nur so lang machen, dass sie auf dem Bildschirm auch in einer Zeile darstellbar sind.&lt;/li&gt;&lt;br /&gt;
&lt;li&gt;Keine Angst vor Leerzeichen und Leerzeilen.&lt;br /&gt;Sinnvoll eingesetzt helfen auch sie, die Struktur leichter zu erfassen.&lt;/li&gt;&lt;br /&gt;
&lt;/ol&gt;&lt;br /&gt;
Selbstverstaendlich darf man auch Kommentare verwenden und wenn man im Hinterkopf behaelt, dass bei Codebloecken, deren Laenge eine Bildschirmseite uebersteigt, die Fehlerquote exponentiell ansteigt, ist alles im gruenen Bereich.&lt;br /&gt;
&lt;br /&gt;
Die Wahl der geeigneten Skriptsprache ist auch haeufig ein Thema. Es schadet nichts, wenn man viele Konzepte kennt, um die richtige Sprache fuer den richtigen Zweck auszuwaehlen. Meistens aber sind die Sachzwaenge so, dass man eine zu benutzende Skriptsprache vorgesetzt bekommt, in diesem Fall kann man nicht waehlen, das macht es einfach, oder dass man mit vielen Systemen zu tun hat, da wuerde ich die Sprache waehlen, die in der eigenen Infrastruktur am weitesten verbreitet ist.&lt;br /&gt;
&lt;br /&gt;
Fuer den Bereich, in dem ich taetig bin, wuerde die Wahl immer wieder auf &lt;a href=&quot;http://www.perl.org/&quot; title=&quot;The Perl Programming Language - www.perl.org&quot;&gt;Perl&lt;/a&gt; fallen und das gleich aus zwei Gruenden: Ich mag Perl ;-) und es ist auf jedem System (inklusive Windows) vorinstalliert. Bei Shell-Skripten faellt die Wahl auf die &lt;a href=&quot;https://de.wikipedia.org/wiki/Korn_Shell&quot; title=&quot;Korn Shell – Wikipedia&quot;&gt;Korn Shell&lt;/a&gt;, weil die auf allen Truemmern installiert ist. 
    </content:encoded>

    <pubDate>Fri, 09 Mar 2012 09:00:00 +0100</pubDate>
    <guid isPermaLink="false">http://adminstories.de/index.php?/archives/138-guid.html</guid>
    <category>Automatisierung</category>

</item>
<item>
    <title>KW 2012/09 - Fundstuecke</title>
    <link>http://adminstories.de/index.php?/archives/135-KW-201209-Fundstuecke.html</link>
            <category>Schnippsel</category>
    
    <comments>http://adminstories.de/index.php?/archives/135-KW-201209-Fundstuecke.html#comments</comments>
    <wfw:comment>http://adminstories.de/wfwcomment.php?cid=135</wfw:comment>

    <slash:comments>4</slash:comments>
    <wfw:commentRss>http://adminstories.de/rss.php?version=2.0&amp;type=comments&amp;cid=135</wfw:commentRss>
    

    <author>nospam@example.com (Dirk Deimeke)</author>
    <content:encoded>
    &lt;strong&gt;Kalenderwoche 09, 27.02.-04.03.2012&lt;/strong&gt;&lt;br /&gt;
&lt;br /&gt;
Eine gute Uebersicht von vim-Befehlen gibt &lt;a href=&quot;http://rayninfo.co.uk/vimtips.html&quot; title=&quot;Best of VIM Tips, gVIM&#039;s Key Features zzapper&quot;&gt;Best of Vim Tips&lt;/a&gt;. Gibt es eigentlich noch Bekloppte so wie mich, die &lt;strong&gt;vim&lt;/strong&gt; tippen, wenn sie &lt;code&gt;vim&lt;/code&gt; meinen und &lt;strong&gt;vi&lt;/strong&gt; tippen, wenn sie &lt;code&gt;vi&lt;/code&gt; meinen?&lt;br /&gt;
&lt;br /&gt;
Lesenswert ist die Richtigstellung &lt;a href=&quot;http://utcc.utoronto.ca/~cks/space/blog/sysadmin/WrongAboutSysadminJobDeath&quot; title=&quot; Chris&amp;#39;s Wiki :: blog/sysadmin/WrongAboutSysadminJobDeath &quot;&gt;How I can be wrong about the death of sysadmin jobs&lt;/a&gt;, der noch einmal richtigstellt, dass DevOps eher das Ende der stupiden Arbeiten als das Ende der Systemadministration sind.&lt;br /&gt;
&lt;br /&gt;
Ein guter Einstieg in den Job als Linux-Admin sind die &lt;a href=&quot;http://t3n.de/news/10-tipps-start-linux-admin-371457/&quot; title=&quot;10 Tipps für den Start als Linux-Admin » t3n News&quot;&gt;10 Tipps für den Start als Linux-Admin&lt;/a&gt;, hier das englische Original &lt;a href=&quot;http://tuts.pinehead.tv/2012/02/24/ten-things-i-wish-i-knew-when-becomming-a-linux-admin/&quot; title=&quot;Ten Things I Wish I Knew When Becoming A Linux Admin | Pinehead.tv&quot;&gt;Ten Things I Wish I Knew When Becoming A Linux Admin&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
Huch, &quot;neues&quot; ueber die BaSH zeigt &lt;a href=&quot;https://www.linux.com/learn/tutorials/550520-unknown-bash-tips-and-tricks-for-linux&quot; title=&quot;Unknown Bash Tips and Tricks For Linux | Linux.com&quot;&gt;Unknown Bash Tips and Tricks For Linux&lt;/a&gt;. 
    </content:encoded>

    <pubDate>Mon, 05 Mar 2012 00:00:00 +0100</pubDate>
    <guid isPermaLink="false">http://adminstories.de/index.php?/archives/135-guid.html</guid>
    <category>Schnippsel</category>

</item>
<item>
    <title>Aufwaende bei einer Migration</title>
    <link>http://adminstories.de/index.php?/archives/134-Aufwaende-bei-einer-Migration.html</link>
            <category>Bewaehrtes</category>
    
    <comments>http://adminstories.de/index.php?/archives/134-Aufwaende-bei-einer-Migration.html#comments</comments>
    <wfw:comment>http://adminstories.de/wfwcomment.php?cid=134</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://adminstories.de/rss.php?version=2.0&amp;type=comments&amp;cid=134</wfw:commentRss>
    

    <author>nospam@example.com (Ramon Kukla)</author>
    <content:encoded>
    Wir sind umgezogen. Wir hatten es ja &lt;a href=&quot;http://adminstories.de/index.php?/archives/132-Wechsel-der-Software.html&quot; title=&quot;Wechsel der Software  - adminstories&quot;&gt;bereits gesagt&lt;/a&gt;. Und es ist immer wieder interessant zu sehen, wie flott man sich im anfallenden Aufwand verschaetzt. Bei unseren zwei Servern denkt man vielleicht:&lt;br /&gt;
&lt;blockquote&gt;Ok, schnell mal eben Mail, Webserver und Datenbanken auf den neuen Serven eingerichtet. Daten kopieren, ein bisschen scp und rsync und DNS umstellen.&lt;/blockquote&gt;&lt;br /&gt;
Aber da steckt doch einiges mehr dahinter. Hier mal eine fast komplette Liste der bei uns genutzten Dienste:&lt;br /&gt;
&lt;br /&gt;
&amp;bull; &lt;a href=&quot;http://www.amavis.org/&quot; title=&quot;amavisd-new&quot;&gt;Amavis&lt;/a&gt; als Spamfilter&lt;br /&gt;
&amp;bull; &lt;a href=&quot;http://httpd.apache.org/&quot; title=&quot;Welcome! - The Apache HTTP Server Project&quot;&gt;Apache&lt;/a&gt; als Webserver&lt;br /&gt;
&amp;bull; &lt;a href=&quot;http://dovecot.org/&quot; title=&quot;Dovecot&quot;&gt;Dovecot&lt;/a&gt; als IMAP Server&lt;br /&gt;
&amp;bull; &lt;a href=&quot;http://www.ejabberd.im/&quot; title=&quot;ejabberd Community Site | the Erlang Jabber/XMPP daemon&quot;&gt;ejabberd&lt;/a&gt; als Messaging Server (XMPP)&lt;br /&gt;
&amp;bull; &lt;a href=&quot;http://git-scm.com/&quot; title=&quot;Git&quot;&gt;git&lt;/a&gt; fuer Versionierung&lt;br /&gt;
&amp;bull; &lt;a href=&quot;http://www.horde.org/&quot; title=&quot;The Horde Project&quot;&gt;Horde Groupware Webmail Edition&lt;/a&gt; als Webmailanwendung&lt;br /&gt;
&amp;bull; &lt;a href=&quot;https://www.icinga.org/&quot; title=&quot;Home - Icinga: Open Source Monitoring&quot;&gt;Icinga&lt;/a&gt; fuer das Monitoring&lt;br /&gt;
&amp;bull; &lt;a href=&quot;http://www.mysql.com/&quot; title=&quot;MySQL ::  The world&#039;s most popular open source database&quot;&gt;MySQL&lt;/a&gt; als Datenbank&lt;br /&gt;
&amp;bull; &lt;a href=&quot;http://openvpn.net/&quot; title=&quot;OpenVPN - Open Source VPN&quot;&gt;OpenVPN&lt;/a&gt; als VPN-Loesung&lt;br /&gt;
&amp;bull; &lt;a href=&quot;http://www.phpmyadmin.net/&quot; title=&quot;phpMyAdmin&quot;&gt;phpMyAdmin&lt;/a&gt; zur Datenbankadministration&lt;br /&gt;
&amp;bull; &lt;a href=&quot;http://de.piwik.org/&quot; title=&quot;Piwik - Web analytics - Open source&quot;&gt;Piwik&lt;/a&gt; zur Webanalyse&lt;br /&gt;
&amp;bull; &lt;a href=&quot;http://www.postfix.org/&quot; title=&quot;The Postfix Home Page&quot;&gt;Postfix&lt;/a&gt; als Mailserver&lt;br /&gt;
&amp;bull; &lt;a href=&quot;http://roundcube.net/&quot; title=&quot;Roundcube - open source webmail software&quot;&gt;RoundCube&lt;/a&gt; als Webmailanwendung&lt;br /&gt;
&amp;bull; &lt;a href=&quot;http://oss.oetiker.ch/smokeping/&quot; title=&quot;SmokePing - About SmokePing&quot;&gt;Smokeping&lt;/a&gt; als Ergaenzung zum Monitoring&lt;br /&gt;
&amp;bull; &lt;a href=&quot;http://tt-rss.org/&quot; title=&quot;WikiStart - Tiny Tiny RSS&quot;&gt;Tiny Tiny RSS&lt;/a&gt; als RSS-Reader fuer den Browser&lt;br /&gt;
&amp;bull; &lt;a href=&quot;http://trac.edgewall.org/&quot; title=&quot;      The Trac Project    &quot;&gt;Trac&lt;/a&gt; als Dokumentationsplattform&lt;br /&gt;
&amp;bull; &lt;a href=&quot;https://security.appspot.com/vsftpd.html&quot; title=&quot;vsftpd - Secure, fast FTP server for UNIX-like systems&quot;&gt;vsftp&lt;/a&gt; als sicheren SFTP Server&lt;br /&gt;
&amp;bull; &lt;a href=&quot;http://munin-monitoring.org/&quot; title=&quot;Munin - Trac&quot;&gt;Munin&lt;/a&gt; fue Monitoring mit bunten Bildern&lt;br /&gt;
&lt;br /&gt;
Wer sich mit der ein oder anderen Anwendung auskennt wird bereits ahnen, dass es da in der Regel nicht mit einem &lt;code&gt;aptitude install $SOFTWARE&lt;/code&gt; getan ist. Natuerlich gibt es Anwendungen, die man, wie phpMyAdmin oder auch MySQL, oft &quot;mal eben&quot; installiert hat. Aber das komplette Mail- und Webserver-Umfeld kann schon viel Zeit in Anspruch nehmen. Dabei meine ich nicht unbedingt die Momente, wo man Neuland betritt und sich informieren muss. Im Grunde haben wir alles schon mal gemacht. Aber wir installieren die Dinge eben nicht woechentlich neu, sondern vielleicht einmal im Jahr. Da gehen einem natuerlich immer wieder Detailinformationen verloren. Und auch wenn man alles parat hat, so dauert die Einrichtung auch ohne moegliche Probleme seine Zeit. Und mit Problemen muss man immer rechnen. Ergaenzend macht es natuerlich auch Sinn alle Dienste vor dem Abschalten der alten Server auf der neuen Umgebung zu testen.&lt;br /&gt;
&lt;br /&gt;
Als zusaetzliche &quot;Huerde&quot; haben wir noch die Benutzer. Wir verwenden die beiden Server nicht nur fuer uns sondern bieten ein paar wenigen Leuten auch verschiedene Dienste, wie etwa Mail oder Webhosting, ab. Das bedeute aber auch, dass wir die Benutzer zeitig informieren muessen. Wir haben allerdings das Glueck, dass unsere Anwender sehr pflegeleicht sind. Sprich, eine kurze Mail als Benachrichtigung an die Betroffenen reicht im Regelfall aus.&lt;br /&gt;
&lt;br /&gt;
Was auch gerne vergessen wird ist, dass der Umzug auch Chance zum aufraeumen und Neuanfang sein kann. Denn letzlich muessen alle Dienste und Konfigurationen in irgendeiner Art angefasst werden. Da sollte man sich gleich von den Teilen trennen, die nicht mehr benoetigt werden. Bei uns waren das zum Beispiel ein Teil meiner Webseiten sowie ein paar Datenbanken. Und fehlt vielleicht die Dokumentation zur Anwendung ABC? Dann ist jetzt die Gelegenheit gekommen die auf einen aktuellen Stand zu bringen, bzw. zu erstellen! :)&lt;br /&gt;
&lt;br /&gt;
Alles in allem vergehen, reine Arbeitszeit, mal problemlos ein paar Tage bis alles fertig ist. Denn zu den genannten Punkten kommt natuerlich noch hinzu, dass die Server erst mal grundkonfiguriert werden muessen. Also, nachdem man die Server erst mal bestellt hat. Wenn nachdem man sich erst mal fuer einen Anbieter entschieden hat ;)&lt;br /&gt;
&lt;br /&gt;
Man sollte also ausreichend Zeit fuer eine Migration einplanen. Alleine schon um nicht in Versuchung zu kommen, einen Dienst oder eine Anwendung, die bei der Einrichtung Probleme macht, irgendwie anders ans laufen zu bekommen. Denn &quot;Loesungen&quot;, die im Business gerne Uebergangsloesung genannt werden, sind in der Produktion bestaendig. Sprich, Uebergangsloesungen bekommt man spaeter oft nicht mehr in Ordnung, ohne groessere Ausfaelle oder Aufwaende in Kauf zu nehmen. 
    </content:encoded>

    <pubDate>Fri, 02 Mar 2012 09:00:00 +0100</pubDate>
    <guid isPermaLink="false">http://adminstories.de/index.php?/archives/134-guid.html</guid>
    <category>Bewaehrtes</category>
<category>Serverumzug</category>

</item>
<item>
    <title>KW 2012/08 - Fundstuecke</title>
    <link>http://adminstories.de/index.php?/archives/131-KW-201208-Fundstuecke.html</link>
            <category>Schnippsel</category>
    
    <comments>http://adminstories.de/index.php?/archives/131-KW-201208-Fundstuecke.html#comments</comments>
    <wfw:comment>http://adminstories.de/wfwcomment.php?cid=131</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://adminstories.de/rss.php?version=2.0&amp;type=comments&amp;cid=131</wfw:commentRss>
    

    <author>nospam@example.com (Ramon Kukla)</author>
    <content:encoded>
    &lt;strong&gt;Kalenderwoche 08, 20.-26.02.2012&lt;/strong&gt;&lt;br /&gt;
&lt;br /&gt;
Vieles hatten wir schon zu Git. Eine zweiteilige Einleitung, die mir auf viele ungestellte Fragen Antworten gegeben hat, habe ich bei Marco Schmidt gefunden. &lt;a href=&quot;http://www.debianroot.de/server/einleitung-die-benutzung-von-git-1144.html&quot; title=&quot;Einleitung in die Benutzung von Git &amp;#8211; Teil #1 » Debian Root&quot;&gt;Teil 1&lt;/a&gt; und &lt;a href=&quot;http://www.debianroot.de/server/einleitung-in-die-benutzung-von-git-teil-2-1145.html&quot; title=&quot;Einleitung in die Benutzung von Git &amp;#8211; Teil #2 » Debian Root&quot;&gt;Teil 2&lt;/a&gt;&lt;br /&gt;
 
    </content:encoded>

    <pubDate>Mon, 27 Feb 2012 00:00:00 +0100</pubDate>
    <guid isPermaLink="false">http://adminstories.de/index.php?/archives/131-guid.html</guid>
    <category>Schnippsel</category>

</item>
<item>
    <title>Das Backup, technisch</title>
    <link>http://adminstories.de/index.php?/archives/133-Das-Backup,-technisch.html</link>
            <category>Anleitungen</category>
    
    <comments>http://adminstories.de/index.php?/archives/133-Das-Backup,-technisch.html#comments</comments>
    <wfw:comment>http://adminstories.de/wfwcomment.php?cid=133</wfw:comment>

    <slash:comments>2</slash:comments>
    <wfw:commentRss>http://adminstories.de/rss.php?version=2.0&amp;type=comments&amp;cid=133</wfw:commentRss>
    

    <author>nospam@example.com (Ramon Kukla)</author>
    <content:encoded>
    Hatten wir das noch nicht? Wir hatten vor ein paar Tagen was zum &lt;a href=&quot;http://adminstories.de/index.php?/archives/125-Das-Backup.html&quot; title=&quot;Das Backup  - adminstories&quot;&gt;menschlichen Backup&lt;/a&gt; erzaehlt, aber ich sehe, wir haben noch nichts dazu gesagt, wie wir auf unseren Servern das Backup machen. Verrueckt :)&lt;br /&gt;
&lt;br /&gt;
Wir haben ja zwei Server und verteilen dort die Dienste etwas. Auf Server foo haben wir in erster Linie Mail und Dokumentation. Auf dem Server bar haben wir dann primaer Web, bzw. die Webseiten von uns und einigen Bekannten. Wir sind bekennende Weicheier und erstellen daher taeglich auch immer ein komplettes Backup der fuer uns wichtigen Daten. Ein grosser Teil des Artikels wird aus den beiden Scripts bestehen, die wir zur Sicherung nutzen.&lt;br /&gt;
&lt;br /&gt;
Wie wir die Daten zwischen den Servern synchronisieren hatte wir ja vor einiger Zeit schon &lt;a href=&quot;http://adminstories.de/index.php?/archives/45-Serversynchronisation.html&quot; title=&quot;http://adminstories.de/index.php?/archives/45-Serversynchronisation.html&quot;&gt;mal beschrieben&lt;/a&gt;. Und auch der log4bash-Teil wurde schon &lt;a href=&quot;http://adminstories.de/index.php?/archives/55-Logging-in-Skripten.html&quot; title=&quot;Logging in Skripten  - adminstories&quot;&gt;mal beschrieben&lt;/a&gt;. Daher gehe ich nachfolgend nicht weiter drauf ein.&lt;br /&gt;
&lt;br /&gt;
Fangen wir also mal mit einer Sicherung der wichtigen Dinge an:&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;bash geshi&quot; style=&quot;text-align: left&quot;&gt;&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;#!/bin/bash&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;logger &lt;span style=&quot;color: #660033;&quot;&gt;-t&lt;/span&gt; hotcopy.bash &lt;span style=&quot;color: #660033;&quot;&gt;-i&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;Starting backup&amp;quot;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: #007800;&quot;&gt;TIMESTAMP&lt;/span&gt;=$&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;date&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;+%Y%m%d-%H%M&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #007800;&quot;&gt;TARGET_DIRECTORY&lt;/span&gt;=&lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;/srv/bak/backup-md1&amp;quot;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #007800;&quot;&gt;DB_PREFIX&lt;/span&gt;=&lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;db.&amp;quot;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #007800;&quot;&gt;DIR_PREFIX&lt;/span&gt;=&lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;dir&amp;quot;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #007800;&quot;&gt;TRC_PREFIX&lt;/span&gt;=&lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;trc.&amp;quot;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: #007800;&quot;&gt;DIRECTORIES_TO_COPY&lt;/span&gt;=&lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;/root /etc /var/log /var/mail /var/vmail /var/spool /var/www /home/&amp;amp;lowast; /srv/pwd /srv/www/&amp;amp;lowast; /usr/local/src/scripts /usr/share/munin/plugins /var/run/munin /var/spool/cron/crontabs/&amp;amp;lowast; /srv/trc/&amp;amp;lowast;/attachments&amp;quot;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: #007800;&quot;&gt;DATABASE_USERNAME&lt;/span&gt;=&lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;deruser&amp;quot;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #007800;&quot;&gt;DATABASE_PASSWORD&lt;/span&gt;=&lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;daspasswort&amp;quot;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #007800;&quot;&gt;DATABASE_TO_COPY&lt;/span&gt;=$&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#40;&lt;/span&gt;mysqlshow &lt;span style=&quot;color: #660033;&quot;&gt;-u&lt;/span&gt; &lt;span style=&quot;color: #007800;&quot;&gt;$DATABASE_USERNAME&lt;/span&gt; -p&lt;span style=&quot;color: #007800;&quot;&gt;$DATABASE_PASSWORD&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;|&lt;/span&gt; &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;awk&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&#039;!/Databases|--/ {print $2}&#039;&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;|&lt;/span&gt; &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;grep&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-v&lt;/span&gt; information_schema&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;cd&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;srv&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;trc&lt;br /&gt;&lt;span style=&quot;color: #007800;&quot;&gt;TRAC_WIKIS&lt;/span&gt;=$&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;ls&lt;/span&gt;&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;cd&lt;/span&gt; -&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;/&lt;/span&gt;dev&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;null&lt;br /&gt;&lt;br /&gt;logger &lt;span style=&quot;color: #660033;&quot;&gt;-t&lt;/span&gt; hotcopy.bash &lt;span style=&quot;color: #660033;&quot;&gt;-i&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;save a list of installed packets&amp;quot;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;if&lt;/span&gt; &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#91;&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-x&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;usr&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;bin&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;dpkg&lt;/span&gt; &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#93;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;then&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;dpkg&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;--get-selections&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;|&lt;/span&gt; &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;bzip2&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-9&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;&lt;/span&gt; &lt;span style=&quot;color: #007800;&quot;&gt;$TARGET_DIRECTORY&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;dpkg-selections-&lt;span style=&quot;color: #007800;&quot;&gt;$TIMESTAMP&lt;/span&gt;.bz2&lt;br /&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;fi&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;if&lt;/span&gt; &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#91;&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-x&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;bin&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;rpm &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#93;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;then&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; rpm &lt;span style=&quot;color: #660033;&quot;&gt;-qa&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;|&lt;/span&gt; &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;bzip2&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-9&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;&lt;/span&gt; &lt;span style=&quot;color: #007800;&quot;&gt;$TARGET_DIRECTORY&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;rpm-selections-&lt;span style=&quot;color: #007800;&quot;&gt;$TIMESTAMP&lt;/span&gt;.bz2&lt;br /&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;fi&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;for&lt;/span&gt; i &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;in&lt;/span&gt; &lt;span style=&quot;color: #007800;&quot;&gt;$DIRECTORIES_TO_COPY&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;do&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;# vim backups entfernen&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;find&lt;/span&gt; &lt;span style=&quot;color: #007800;&quot;&gt;$i&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-iname&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&#039;*~&#039;&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;|&lt;/span&gt; &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;xargs&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-r&lt;/span&gt; &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;rm&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #007800;&quot;&gt;FILENAME&lt;/span&gt;=&lt;span style=&quot;color: #007800;&quot;&gt;$TARGET_DIRECTORY&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;$&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;echo&lt;/span&gt; &lt;span style=&quot;color: #007800;&quot;&gt;$DIR_PREFIX&lt;/span&gt;&lt;span style=&quot;color: #007800;&quot;&gt;$i&lt;/span&gt;-&lt;span style=&quot;color: #007800;&quot;&gt;$TIMESTAMP&lt;/span&gt;.tar.bz2 &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;|&lt;/span&gt; &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;sed&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;s/^\///g ; s/\//./g&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;find&lt;/span&gt; &lt;span style=&quot;color: #007800;&quot;&gt;$i&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-type&lt;/span&gt; s &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;usr&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;local&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;src&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;scripts&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;sockets.lst&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;cat&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;usr&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;local&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;src&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;scripts&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;sockets.lst &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;usr&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;local&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;src&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;scripts&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;exclude.lst &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;usr&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;local&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;src&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;scripts&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;excludesum.lst&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;tar&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-Pcjf&lt;/span&gt; &lt;span style=&quot;color: #800000;&quot;&gt;${FILENAME}&lt;/span&gt; &lt;span style=&quot;color: #800000;&quot;&gt;${i}&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-X&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;usr&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;local&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;src&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;scripts&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;excludesum.lst&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; logger &lt;span style=&quot;color: #660033;&quot;&gt;-t&lt;/span&gt; hotcopy.bash &lt;span style=&quot;color: #660033;&quot;&gt;-i&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;save &lt;span style=&quot;color: #007800;&quot;&gt;$FILENAME&lt;/span&gt;&amp;quot;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;done&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;for&lt;/span&gt; i &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;in&lt;/span&gt; &lt;span style=&quot;color: #007800;&quot;&gt;$DATABASE_TO_COPY&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;do&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #007800;&quot;&gt;FILENAME&lt;/span&gt;=&lt;span style=&quot;color: #007800;&quot;&gt;$TARGET_DIRECTORY&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #007800;&quot;&gt;$DB_PREFIX&lt;/span&gt;&lt;span style=&quot;color: #007800;&quot;&gt;$i&lt;/span&gt;-&lt;span style=&quot;color: #007800;&quot;&gt;$TIMESTAMP&lt;/span&gt;.sql.bz2&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; mysqldump &lt;span style=&quot;color: #660033;&quot;&gt;-c&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;--databases&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;--add-drop-database&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-u&lt;/span&gt; &lt;span style=&quot;color: #007800;&quot;&gt;$DATABASE_USERNAME&lt;/span&gt; -p&lt;span style=&quot;color: #007800;&quot;&gt;$DATABASE_PASSWORD&lt;/span&gt; &lt;span style=&quot;color: #007800;&quot;&gt;$i&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;|&lt;/span&gt; &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;bzip2&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-9&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;&lt;/span&gt; &lt;span style=&quot;color: #007800;&quot;&gt;$FILENAME&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; logger &lt;span style=&quot;color: #660033;&quot;&gt;-t&lt;/span&gt; hotcopy.bash &lt;span style=&quot;color: #660033;&quot;&gt;-i&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;save &lt;span style=&quot;color: #007800;&quot;&gt;$FILENAME&lt;/span&gt;&amp;quot;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;done&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;for&lt;/span&gt; i &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;in&lt;/span&gt; &lt;span style=&quot;color: #007800;&quot;&gt;$TRAC_WIKIS&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;do&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;usr&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;local&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;bin&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;trac-admin &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;srv&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;trc&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #800000;&quot;&gt;${i}&lt;/span&gt; hotcopy &lt;span style=&quot;color: #007800;&quot;&gt;$TARGET_DIRECTORY&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #007800;&quot;&gt;$TRC_PREFIX&lt;/span&gt;&lt;span style=&quot;color: #800000;&quot;&gt;${i}&lt;/span&gt;-&lt;span style=&quot;color: #007800;&quot;&gt;$TIMESTAMP&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;tar&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-Pcjf&lt;/span&gt; &lt;span style=&quot;color: #007800;&quot;&gt;$TARGET_DIRECTORY&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #007800;&quot;&gt;$TRC_PREFIX&lt;/span&gt;&lt;span style=&quot;color: #800000;&quot;&gt;${i}&lt;/span&gt;-&lt;span style=&quot;color: #007800;&quot;&gt;$TIMESTAMP&lt;/span&gt;.tar.bz2 &lt;span style=&quot;color: #007800;&quot;&gt;$TARGET_DIRECTORY&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #007800;&quot;&gt;$TRC_PREFIX&lt;/span&gt;&lt;span style=&quot;color: #800000;&quot;&gt;${i}&lt;/span&gt;-&lt;span style=&quot;color: #007800;&quot;&gt;$TIMESTAMP&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; logger &lt;span style=&quot;color: #660033;&quot;&gt;-t&lt;/span&gt; hotcopy.bash &lt;span style=&quot;color: #660033;&quot;&gt;-i&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;save &lt;span style=&quot;color: #007800;&quot;&gt;$i&lt;/span&gt;&amp;quot;&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;rm&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-r&lt;/span&gt; &lt;span style=&quot;color: #007800;&quot;&gt;$TARGET_DIRECTORY&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #007800;&quot;&gt;$TRC_PREFIX&lt;/span&gt;&lt;span style=&quot;color: #800000;&quot;&gt;${i}&lt;/span&gt;-&lt;span style=&quot;color: #007800;&quot;&gt;$TIMESTAMP&lt;/span&gt; &lt;span style=&quot;color: #000000;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;/&lt;/span&gt;dev&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;null&lt;br /&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;done&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;find&lt;/span&gt; &lt;span style=&quot;color: #007800;&quot;&gt;$TARGET_DIRECTORY&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-mtime&lt;/span&gt; +&lt;span style=&quot;color: #000000;&quot;&gt;6&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;|&lt;/span&gt; &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;xargs&lt;/span&gt; &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;rm&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-f&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;logger &lt;span style=&quot;color: #660033;&quot;&gt;-t&lt;/span&gt; hotcopy.bash &lt;span style=&quot;color: #660033;&quot;&gt;-i&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;ending backup&amp;quot;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;usr&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;local&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;src&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;scripts&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;ftpbackup.bash &lt;span style=&quot;color: #000000;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;&amp;amp;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;1&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
Sieht vielleicht wild aus, ist es aber nicht. Zu Anfang definieren wir ein paar Dinge wie Benutzername und Kennwort fuer den Datenbankzugriff, zu sichernde Vezeichnisse und so weiter. Wichtig fuer uns ist &lt;code&gt;TIMESTAMP&lt;/code&gt;. Diesen nutzen wir sowohl fuer die Logeintraege, als auch als Teil des Dateinamens fuer die Sicherungsdateien.&lt;br /&gt;
&lt;br /&gt;
Zu Beginn erstellen wir erst mal eine Liste aller installierten Pakete. Das hilft ungemein wenn der Server, warum auch immer, neu aufgesetzt werden muss. Oder man moechte einen Server identisch installieren. Dann holt man sich die Liste, setzt ein &lt;code&gt;sudo dpkg --set-selections &lt; Liste&lt;/code&gt; gefolgt von einem &lt;code&gt;sudo apt-get -u dselect-upgrade&lt;/code&gt; ab und hat kurze Zeit spaeter alle benoetigten/gewuenschten Pakete installiert.&lt;br /&gt;
&lt;br /&gt;
Mit einer einfachen Schleife erstellen wir anschliessend Sicherungsdateien von den fuer uns wichtigen Verzeichnissen. Vorab generieren wir die Datei &lt;code&gt;excludesum.lst&lt;/code&gt;. Dies ist eine Liste aller zu ignorierenden Dateitypen/Verzeichnisse (*.mp3, etc.) und den zur Laufzeit in dem zu sichernden Verzeichnis zu findenden &lt;a href=&quot;http://tldp.org/LDP/intro-linux/html/sect_03_01.html&quot; title=&quot;&quot;&gt;Sockets&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
Die Datenbanken und die Tracdaten holen wir uns auch ueber eine einfache Schleife und erstellen auch hier eine Sicherungsdatei. Wobei bei Trac &lt;code&gt;&lt;a href=&quot;http://trac.edgewall.org/wiki/TracAdmin&quot; title=&quot;      TracAdmin – The Trac Project    &quot;&gt;trac-admin&lt;/a&gt;&lt;/code&gt; als Bestandteil der Trac-Installation zum Einsatz kommt.&lt;br /&gt;
&lt;br /&gt;
Damit haben wir nun ein Haufen Dateien (es sind etwas ueber 90 Dateien mit insgesamt etwa 18 GB) die wir nun sinnvollerweise von der Maschine weg sichern. Vorab loeschen wir auf dem Server mit &lt;code&gt;find $TARGET_DIRECTORY -mtime +6 | xargs rm -f&lt;/code&gt; alle Sicherungsdateien, die aelter als die angegebenen Tage sind. Ja, es gibt -exec fuer find :-)&lt;br /&gt;
&lt;br /&gt;
Jetzt aber erst mal alles weggesichert. Rufen wir also &lt;code&gt;/usr/local/src/scripts/ftpbackup.bash 2&gt;&amp;1&lt;/code&gt; auf. Damit die aufgerufene Sicherung auch laueft und wir keine Credentials in dem Script eintragen muessen, nutzen wir die Datei &lt;code&gt;/root/.netrc&lt;/code&gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;bash geshi&quot; style=&quot;text-align: left&quot;&gt;machine zielserver&lt;br /&gt;&amp;#160; &amp;#160; &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;login&lt;/span&gt; ulopa&lt;br /&gt;&amp;#160; &amp;#160; password vollkomplex&lt;/div&gt;&lt;br /&gt;
Diese Datei wird beim Aufruf von ftp gezogen und genutzt.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;bash geshi&quot; style=&quot;text-align: left&quot;&gt;&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;#!/bin/bash&lt;/span&gt;&lt;br /&gt;logger &lt;span style=&quot;color: #660033;&quot;&gt;-t&lt;/span&gt; ftpbackup.bash &lt;span style=&quot;color: #660033;&quot;&gt;-i&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;Starting ftpbackup&amp;quot;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: #007800;&quot;&gt;BACKUPDIR&lt;/span&gt;=&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;srv&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;bak&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;backup-md1&lt;br /&gt;&lt;span style=&quot;color: #007800;&quot;&gt;BACKUPDIRFTP&lt;/span&gt;=&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #007800;&quot;&gt;KEYFROMUSER&lt;/span&gt;=root&lt;br /&gt;&lt;span style=&quot;color: #007800;&quot;&gt;HOST&lt;/span&gt;=zielserver&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;########################################################################&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;# declare -a L4B_LABEL=(DEBUG INFO WARN ERROR CRITICAL FATAL ENDOFWORLD)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;source&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;usr&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;local&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;src&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;scripts&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;log4bash.sh&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;# L4B_DEBUGLVL=1&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;# L4B_DELIM=&amp;quot;/&amp;quot;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;# L4B_DATE=&amp;quot;date&amp;quot;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;# L4B_DATEFORMAT=&amp;quot;+%Y%m%d-%H%M%S.%N&amp;quot;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;# L4B_VERBOSE=true&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;# L4B_LOGFILE=&amp;quot;skript.log&amp;quot;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;########################################################################&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;cd&lt;/span&gt; &lt;span style=&quot;color: #007800;&quot;&gt;$BACKUPDIR&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;for&lt;/span&gt; FILENAME &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;in&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;*&lt;/span&gt;$&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;date&lt;/span&gt; +&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;%&lt;/span&gt;Y&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;%&lt;/span&gt;m&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;%&lt;/span&gt;d&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;*&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;do&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; logger &lt;span style=&quot;color: #660033;&quot;&gt;-t&lt;/span&gt; ftpbackup.bash &lt;span style=&quot;color: #660033;&quot;&gt;-i&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;encrypt &lt;span style=&quot;color: #007800;&quot;&gt;$FILENAME&lt;/span&gt;&amp;quot;&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; gpg &lt;span style=&quot;color: #660033;&quot;&gt;-e&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-o&lt;/span&gt; &lt;span style=&quot;color: #007800;&quot;&gt;$FILENAME&lt;/span&gt;.gpg &lt;span style=&quot;color: #660033;&quot;&gt;-r&lt;/span&gt; &lt;span style=&quot;color: #007800;&quot;&gt;$KEYFROMUSER&lt;/span&gt; &lt;span style=&quot;color: #007800;&quot;&gt;$FILENAME&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;done&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;logger &lt;span style=&quot;color: #660033;&quot;&gt;-t&lt;/span&gt; ftpbackup.bash &lt;span style=&quot;color: #660033;&quot;&gt;-i&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;copy files&amp;quot;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;ftp&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-i&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt; EOF&lt;br /&gt;open &lt;span style=&quot;color: #007800;&quot;&gt;$HOST&lt;/span&gt;&lt;br /&gt;bin&lt;br /&gt;lcd &lt;span style=&quot;color: #007800;&quot;&gt;$BACKUPDIR&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;cd&lt;/span&gt; &lt;span style=&quot;color: #007800;&quot;&gt;$BACKUPDIRFTP&lt;/span&gt;&lt;br /&gt;mput &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;*&lt;/span&gt;.gpg&lt;br /&gt;quit&lt;br /&gt;EOF&lt;br /&gt;&lt;br /&gt;logger &lt;span style=&quot;color: #660033;&quot;&gt;-t&lt;/span&gt; ftpbackup.bash &lt;span style=&quot;color: #660033;&quot;&gt;-i&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;delete enrcypted files in &lt;span style=&quot;color: #007800;&quot;&gt;$BACKUPDIR&lt;/span&gt;&amp;quot;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;rm&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;*&lt;/span&gt;.gpg&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;logger &lt;span style=&quot;color: #660033;&quot;&gt;-t&lt;/span&gt; ftpbackup.bash &lt;span style=&quot;color: #660033;&quot;&gt;-i&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;delete files older 7 days in &lt;span style=&quot;color: #007800;&quot;&gt;$BACKUPDIRFTP&lt;/span&gt;&amp;quot;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;ftp&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-i&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt;EOF&lt;br /&gt;open &lt;span style=&quot;color: #007800;&quot;&gt;$HOST&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;cd&lt;/span&gt; &lt;span style=&quot;color: #007800;&quot;&gt;$BACKUPDIRFTP&lt;/span&gt;&lt;br /&gt;mdelete &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;*&lt;/span&gt;$&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;date&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-d&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;7 days ago&amp;quot;&lt;/span&gt; +&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;%&lt;/span&gt;Y&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;%&lt;/span&gt;m&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;%&lt;/span&gt;d&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;*&lt;/span&gt;&lt;br /&gt;quit&lt;br /&gt;EOF&lt;br /&gt;&lt;br /&gt;logger &lt;span style=&quot;color: #660033;&quot;&gt;-t&lt;/span&gt; ftpbackup.bash &lt;span style=&quot;color: #660033;&quot;&gt;-i&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;Finishing ftpbackup&amp;quot;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
Wie im oberen Job definieren wir auch hier erst mal ein paar Dinge. Da wir die Daten via FTP uebertragen muessen (gibt nichts anderes) verschluesseln wir diese vorab noch mit PGP. Nach der Verschluesselung werden dann alle Dateien auf den Backupserver uebertragen. Anschliessend werden alle lokal liegenden verschluesselten Dateien geloescht und auch auf dem FTP-Server werden alle Dateien, die aelter als sieben Tage sind, entfernt.&lt;br /&gt;
&lt;br /&gt;
Das Backup starten wir um 01:05 Uhr am Morgen und es dauert, mit dem Uebertragen der Daten, knapp ueber 2 Stunden. Das ist fuer uns wichtig zu wissen, da wir anschliessend ja noch den Synchronisationsjob laufen haben. Wenn der zu frueh startet koennen Dateien vielleicht nicht abgeholt werden, da diese im Rahmen des Backups noch nicht erstellt wurden.&lt;br /&gt;
&lt;br /&gt;
Wir werden im Zusammenhang mit dem Umzug auf die neuen Server vermutlich etwas am Backup aendern. Aber dazu dann spaeter mehr.&lt;br /&gt;
&lt;br /&gt;
Vielleicht ist fuer den ein oder anderen noch &lt;a href=&quot;http://www.deimeke.net/dirk/blog/index.php?/pages/ubucon2010-baremetal.html&quot; title=&quot;Ubucon 2010 - Bare Metal Restore | Dirks Logbuch&quot;&gt;unser Vortrag &lt;/a&gt;interessant, den wir auf der Ubucon 2010 zum Thema &quot;Restore&quot; gehalten hatten. Hintergrund war, dass uns Anfang 2010 unser damals noch singulaer ausgelegter Server abgeraucht ist. Das hatte hohen Unterhaltungswert! :) 
    </content:encoded>

    <pubDate>Fri, 24 Feb 2012 09:00:00 +0100</pubDate>
    <guid isPermaLink="false">http://adminstories.de/index.php?/archives/133-guid.html</guid>
    <category>Anleitungen</category>

</item>
<item>
    <title>KW 2012/07 - Fundstuecke</title>
    <link>http://adminstories.de/index.php?/archives/130-KW-201207-Fundstuecke.html</link>
            <category>Schnippsel</category>
    
    <comments>http://adminstories.de/index.php?/archives/130-KW-201207-Fundstuecke.html#comments</comments>
    <wfw:comment>http://adminstories.de/wfwcomment.php?cid=130</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://adminstories.de/rss.php?version=2.0&amp;type=comments&amp;cid=130</wfw:commentRss>
    

    <author>nospam@example.com (Dirk Deimeke)</author>
    <content:encoded>
    &lt;strong&gt;Kalenderwoche 07, 13.-19.02.2012&lt;/strong&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://how-to.linuxcareer.com/linux-command-line-basics-for-beginners-part-3&quot; title=&quot;Linux command line basics for beginners: Part 3&quot;&gt;Linux command line basics for beginners: Part 3&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://blog.koehntopp.de/archives/3189-FAQ-Mein-mysqldump-zerstoert-meine-Umlaute.html&quot; title=&quot;FAQ: Mein mysqldump zerstört meine Umlaute  - Die wunderbare Welt von Isotopp&quot;&gt;FAQ: Mein mysqldump zerstoert meine Umlaute&lt;/a&gt; erklaert wunderbar, wie man Daten vernuenftig konvertieren kann, die eine UTF8-Anwendung ohne Beachtung des Encodings in eine latin1-Datenbank geschrieben hat. 
    </content:encoded>

    <pubDate>Mon, 20 Feb 2012 00:00:00 +0100</pubDate>
    <guid isPermaLink="false">http://adminstories.de/index.php?/archives/130-guid.html</guid>
    <category>Schnippsel</category>

</item>
<item>
    <title>Wechsel der Software</title>
    <link>http://adminstories.de/index.php?/archives/132-Wechsel-der-Software.html</link>
            <category>Eingestreut</category>
    
    <comments>http://adminstories.de/index.php?/archives/132-Wechsel-der-Software.html#comments</comments>
    <wfw:comment>http://adminstories.de/wfwcomment.php?cid=132</wfw:comment>

    <slash:comments>6</slash:comments>
    <wfw:commentRss>http://adminstories.de/rss.php?version=2.0&amp;type=comments&amp;cid=132</wfw:commentRss>
    

    <author>nospam@example.com (Dirk Deimeke)</author>
    <content:encoded>
    Wer uns kennt der weiss, dass wir unter notorischer Langeweile leiden. Daher sind wir immer froh wenn es etwas zu gibt. Aktuell haben wir dann aber doch mehr als an Aufgaben, als gut fuer uns ist. Ramon und ich stecken gerade mitten in zwei Migrationen, die &quot;eigentlich&quot; (auf dem Papier) ganz einfach sind, aber - wie meistens - steckt die Tuecke im Details.&lt;br /&gt;
&lt;br /&gt;
Mit &lt;a href=&quot;http://www.radiotux.de/&quot; title=&quot;RadioTux&quot;&gt;RadioTux&lt;/a&gt; migrieren wir gerade auf neue, durch Sponsoren bereitgestellte Server, neben einem Wechseln von &lt;a href=&quot;http://www.debian.org/&quot; title=&quot;Debian -- The Universal Operating System &quot;&gt;Debian&lt;/a&gt; Lenny auf Squeeze wechseln wir auch von &lt;a href=&quot;https://wordpress.org/&quot; title=&quot;WordPress &amp;#8250; Blog Tool, Publishing Platform, and CMS&quot;&gt;Wordpress&lt;/a&gt; nach &lt;a href=&quot;http://s9y.org/&quot; title=&quot;Serendipity Weblog System&quot;&gt;Serendipity&lt;/a&gt;. Das wurde schon gefuehlte 100 Mal von verschiedenen Leuten vor uns gemacht und sollte &quot;eigentlich&quot; (boeses Wort!) locker von der Hand gehen.&lt;br /&gt;
&lt;br /&gt;
Das Problem ist, dass Wordpress auf der alten Infrastruktur Daten im UTF8-Format in mit latin1-kodierte Tabellen geschrieben hat. Passend zur Umstellung erschien &lt;a href=&quot;http://blog.koehntopp.de/archives/3189-FAQ-Mein-mysqldump-zerstoert-meine-Umlaute.html&quot; title=&quot;FAQ: Mein mysqldump zerstört meine Umlaute  - Die wunderbare Welt von Isotopp&quot;&gt;dieser Artikel&lt;/a&gt; von Kristian Koehntopp, der uns naeher an die Loesung bringt, aber noch nicht alles bereinigt.&lt;br /&gt;
&lt;br /&gt;
Es bleibt spannend.&lt;br /&gt;
&lt;br /&gt;
Mit unseren root-Servern wechseln wir ebenfalls, von &lt;a href=&quot;http://www.hetzner.de/&quot; title=&quot;Hetzner Online AG&quot;&gt;Hetzner&lt;/a&gt; zu &lt;a href=&quot;http://www.manitu.de/&quot; title=&quot;Webhosting, Root-Server und DSL mit Ökostrom - manitu&quot;&gt;Manitu&lt;/a&gt; und von &lt;a href=&quot;http://www.ubuntu.com/&quot; title=&quot;Home | Ubuntu&quot;&gt;Ubuntu&lt;/a&gt; 10.04 LTS auf Debian Squeeze, bis jetzt - drei Mal auf Holz klopfen - sieht alles sehr gut aus.&lt;br /&gt;
&lt;br /&gt;
In dem Zusammenhang moechten wir noch mal anmerken, dass wir immer auf der Suche nach Gastbeitraegen sind. Gerade jetzt haette es zumindest gepasst. ;) 
    </content:encoded>

    <pubDate>Fri, 17 Feb 2012 09:00:00 +0100</pubDate>
    <guid isPermaLink="false">http://adminstories.de/index.php?/archives/132-guid.html</guid>
    <category>Eingestreut</category>

</item>
<item>
    <title>KW 2012/06 - Fundstuecke</title>
    <link>http://adminstories.de/index.php?/archives/129-KW-201206-Fundstuecke.html</link>
            <category>Schnippsel</category>
    
    <comments>http://adminstories.de/index.php?/archives/129-KW-201206-Fundstuecke.html#comments</comments>
    <wfw:comment>http://adminstories.de/wfwcomment.php?cid=129</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://adminstories.de/rss.php?version=2.0&amp;type=comments&amp;cid=129</wfw:commentRss>
    

    <author>nospam@example.com (Dirk Deimeke)</author>
    <content:encoded>
    &lt;strong&gt;Kalenderwoche 06, 06.-12.02.2012&lt;/strong&gt;&lt;br /&gt;
&lt;br /&gt;
Ich habe linuxcareer.com gefunden und aus den Artikeln haben es gleich drei in die Fundstuecke geschafft.&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;http://how-to.linuxcareer.com/ubuntu-command-line-basics-for-beginners-part-1&quot; title=&quot;Linux command line basics for beginners: Part 1&quot;&gt;Ubuntu command line basics for beginners: Part 1&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;
&lt;li&gt;&lt;a href=&quot;http://how-to.linuxcareer.com/writing-manual-pages-on-linux&quot; title=&quot;Writing manual pages on Linux&quot;&gt;Writing manual pages on Linux&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;
&lt;li&gt;&lt;a href=&quot;http://how-to.linuxcareer.com/how-to-configure-nfs-on-linux&quot; title=&quot;How to configure NFS on Linux&quot;&gt;How to configure NFS on Linux&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;
&lt;br /&gt;
Von &lt;a href=&quot;http://fstransform.sourceforge.net/&quot; title=&quot;                        SourceForge.net: file-system transformation tool - Project Web Hosting - Open Source Software                &quot;&gt;Fstransform&lt;/a&gt; (file-system transformation tool) habe ich noch nichts gehoert, kann mir aber vorstellen, es einzusetzen, wenn ich BTRFS verwenden moechte: &lt;a href=&quot;http://www.admin-magazin.de/News/Fstransform-zur-Umwandlung-von-Linux-Dateisystemen&quot; title=&quot;Fstransform zur Umwandlung von Linux-Dateisystemen - ADMIN | Das plattformübergreifende Magazin für alle IT-Administratoren&quot;&gt;Fstransform zur Umwandlung von Linux-Dateisystemen&lt;/a&gt; 
    </content:encoded>

    <pubDate>Mon, 13 Feb 2012 00:00:00 +0100</pubDate>
    <guid isPermaLink="false">http://adminstories.de/index.php?/archives/129-guid.html</guid>
    <category>Schnippsel</category>

</item>
<item>
    <title>Screen</title>
    <link>http://adminstories.de/index.php?/archives/128-Screen.html</link>
            <category>Werkzeugkasten</category>
    
    <comments>http://adminstories.de/index.php?/archives/128-Screen.html#comments</comments>
    <wfw:comment>http://adminstories.de/wfwcomment.php?cid=128</wfw:comment>

    <slash:comments>2</slash:comments>
    <wfw:commentRss>http://adminstories.de/rss.php?version=2.0&amp;type=comments&amp;cid=128</wfw:commentRss>
    

    <author>nospam@example.com (Dirk Deimeke)</author>
    <content:encoded>
    Ich nutze schon sehr lange &lt;a href=&quot;https://secure.wikimedia.org/wikipedia/de/wiki/GNU_Screen&quot; title=&quot;&quot;&gt;GNU Screen&lt;/a&gt; und das obwohl ich weiss, dass &lt;a href=&quot;http://tmux.sourceforge.net/&quot; title=&quot;tmux&quot;&gt;tmux&lt;/a&gt; der neue &quot;heisse Scheiss&quot; ist. Das liegt schlicht daran, dass ich tmux in drei Versuchen nicht auf Solaris 8 (ja, das gibt es noch) kompiliert bekommen habe.&lt;br /&gt;
&lt;br /&gt;
Die Definitionen fuer Screen variieren, manche nennen es einen &quot;terminal multiplexer&quot; andere einen &quot;textual window manager&quot;.&lt;br /&gt;
&lt;br /&gt;
Für mich gibt es vier sehr gute Gruende, Screen zu benutzen.&lt;br /&gt;
&lt;ol&gt;&lt;br /&gt;
&lt;li&gt;Kommandozeilen-Sessions in Screen laufen auch dann weiter, wenn ich mich vom Rechner abmelde oder getrennt werde. Das ist vor allem auch dann interessant, wenn man zwischendurch den Rechner wechselt.&lt;/li&gt;&lt;br /&gt;
&lt;li&gt;Mit Screen ist es moeglich, mehrere Benutzer an der gleichen Sitzung teilhaben zu lassen. Das laesst sich fuer Schulungen oder das Vier-Augen-Prinzip bei wichtigen Arbeiten verwenden.&lt;/li&gt;&lt;br /&gt;
&lt;li&gt;Ueber eine einzige ssh-Verbindung lassen sich mit einer Screen-Umgebung bis zu 40 parallele Kommandozeilen-Sitzungen betreiben.&lt;/li&gt;&lt;br /&gt;
&lt;li&gt;Screen kann benutzt werden, Kommandozeilensitzungen zu gruppieren. So nutze ich ein Setting, dass ich &quot;daily&quot; genannt habe, was ssh-Verbindungen zu den Infrastruktur-Servern enthaelt. Weitere Sitzungen enthalten die fuer bestimmte Arbeiten thematisch sortierten Verbindungen. Bei Arbeiten an einem Cluster haelt eine Umgebung beispielsweise Verbindungen zu allen Cluster-Nodes, um schnell umschalten zu können.&lt;/li&gt;&lt;br /&gt;
&lt;/ol&gt;&lt;br /&gt;
Basis für meine Konfigurationsdatei ist die, die ich im &lt;a href=&quot;http://www.linuxwiki.de/screen&quot; title=&quot;screen - LinuxWiki.org - Linux Wiki und Freie Software&quot;&gt;Linuxwiki&lt;/a&gt; gefunden habe, dort gibt es auch eine sehr gute Erklaerung der Datei.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;bash geshi&quot; style=&quot;text-align: left&quot;&gt;&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;# Tabs&lt;/span&gt;&lt;br /&gt;caption always &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;%{kw}%-w%{ky}%n %t%{-}%+w %=%{bw}@%H%{kw} %D %Y-%m-%d %c&amp;quot;&lt;/span&gt;&lt;br /&gt;hardstatus string &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;[%H]&amp;quot;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;# Ctrl-PageUp/Down or Alt-PageUp/Down or Alt-left/right&lt;/span&gt;&lt;br /&gt;bindkey ^&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;5&lt;/span&gt;;&lt;span style=&quot;color: #000000;&quot;&gt;5&lt;/span&gt;~ prev&lt;br /&gt;bindkey ^&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;6&lt;/span&gt;;&lt;span style=&quot;color: #000000;&quot;&gt;5&lt;/span&gt;~ next&lt;br /&gt;bindkey ^&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;5&lt;/span&gt;;&lt;span style=&quot;color: #000000;&quot;&gt;3&lt;/span&gt;~ prev&lt;br /&gt;bindkey ^&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;6&lt;/span&gt;;&lt;span style=&quot;color: #000000;&quot;&gt;3&lt;/span&gt;~ next&lt;br /&gt;bindkey ^&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;1&lt;/span&gt;;3D prev&lt;br /&gt;bindkey ^&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;1&lt;/span&gt;;3C next&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;# putty uses Ctrl-PageUp/Down by itself&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;# so only Alt-PageUp/Down and Alt-left/right&lt;/span&gt;&lt;br /&gt;bindkey ^&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#91;&lt;/span&gt;^&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;5&lt;/span&gt;~ prev&lt;br /&gt;bindkey ^&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#91;&lt;/span&gt;^&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;6&lt;/span&gt;~ next&lt;br /&gt;bindkey ^&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#91;&lt;/span&gt;^&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#91;&lt;/span&gt;OD prev&lt;br /&gt;bindkey ^&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#91;&lt;/span&gt;^&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#91;&lt;/span&gt;OC next&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;# Ctrl-Shift-T&lt;/span&gt;&lt;br /&gt;bindkey ^T &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;screen&lt;/span&gt; &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;bash&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;# Scrollen im xterm&lt;/span&gt;&lt;br /&gt;termcapinfo xterm&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;|&lt;/span&gt;xterms&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;|&lt;/span&gt;xs&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;|&lt;/span&gt;rxvt ti&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;@&lt;/span&gt;:te&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;@&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;# Detach mit logout&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;bind&lt;/span&gt; d&lt;br /&gt;&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;bind&lt;/span&gt; d detach&lt;br /&gt;&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;bind&lt;/span&gt; ^d pow_detach&lt;br /&gt;&lt;br /&gt;sessionname migration&lt;br /&gt;&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;screen&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-t&lt;/span&gt; mon &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;bash&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;screen&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-t&lt;/span&gt; foo &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;ssh&lt;/span&gt; foo.ptlx.de&lt;br /&gt;&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;screen&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-t&lt;/span&gt; bar &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;ssh&lt;/span&gt; bar.ptlx.de&lt;br /&gt;&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;screen&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-t&lt;/span&gt; eml &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;ssh&lt;/span&gt; eml.ptlx.de&lt;br /&gt;&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;screen&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-t&lt;/span&gt; web &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;ssh&lt;/span&gt; web.ptlx.de&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
Die letzten Zeilen sind von mir, der &lt;code&gt;sessioname&lt;/code&gt; wird bei &lt;code&gt;screen -ls&lt;/code&gt; angezeigt und die Sitzung laesst sich (im Beispiel) mit &lt;code&gt;screen -rx migration&lt;/code&gt; verbinden.&lt;br /&gt;
&lt;br /&gt;
&lt;code&gt;screen -t Titel Befehl&lt;/code&gt; oeffnet ein neues &quot;Fenster&quot; mit dem angegebenen &lt;code&gt;Titel&lt;/code&gt; und fuehrt dort den genannten &lt;code&gt;Befehl&lt;/code&gt; aus.&lt;br /&gt;
&lt;br /&gt;
Ich habe mir zusaetzlich noch eine Funktion definiert und in meine &lt;code&gt;.bashrc&lt;/code&gt; gesteckt, die eine neue ssh-Verbindung in einem neuen Fenster oeffnet.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;bash geshi&quot; style=&quot;text-align: left&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;function&lt;/span&gt; ses &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#123;&lt;/span&gt; &lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;# session ssh&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;screen&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-t&lt;/span&gt; $&lt;span style=&quot;color: #000000;&quot;&gt;1&lt;/span&gt; &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;ssh&lt;/span&gt; $&lt;span style=&quot;color: #000000;&quot;&gt;1&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
Screen ist relativ alt und wird leider nicht mehr aktiv weiterentwickelt. Eine gute Einfuehrung in Screen - &lt;a href=&quot;https://www.kuro5hin.org/story/2004/3/9/16838/14935&quot; title=&quot;GNU Screen: an introduction and beginner&#039;s tutorial || kuro5hin.org&quot;&gt;GNU Screen: an introduction and beginner&#039;s tutorial&lt;/a&gt; - stammt aus dem Jahr 2004 und funktioniert heute noch. 
    </content:encoded>

    <pubDate>Fri, 10 Feb 2012 09:00:00 +0100</pubDate>
    <guid isPermaLink="false">http://adminstories.de/index.php?/archives/128-guid.html</guid>
    <category>Werkzeugkasten</category>

</item>
<item>
    <title>KW 2012/05 - Fundstuecke</title>
    <link>http://adminstories.de/index.php?/archives/127-KW-201205-Fundstuecke.html</link>
            <category>Schnippsel</category>
    
    <comments>http://adminstories.de/index.php?/archives/127-KW-201205-Fundstuecke.html#comments</comments>
    <wfw:comment>http://adminstories.de/wfwcomment.php?cid=127</wfw:comment>

    <slash:comments>2</slash:comments>
    <wfw:commentRss>http://adminstories.de/rss.php?version=2.0&amp;type=comments&amp;cid=127</wfw:commentRss>
    

    <author>nospam@example.com (Dirk Deimeke)</author>
    <content:encoded>
    &lt;strong&gt;Kalenderwoche 05, 30.01.-05.02.2012&lt;/strong&gt;&lt;br /&gt;
&lt;br /&gt;
Eine relativ einfache Einführung in Git gibt &lt;a href=&quot;http://rogerdudler.github.com/git-guide/&quot; title=&quot;git - the simple guide - no deep shit!&quot;&gt;git - the simple guide&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://www.guerilla-projektmanagement.de/index.php/archives/2012/02/01/projektleitung-und-talent/&quot; title=&quot;Guerilla Projektmanagement - subversive IT Projekte und Zeug &amp;raquo; Projektleitung und Talent&quot;&gt;Projektleitung und Talent&lt;/a&gt; beschreibt, dass man Talent braucht, um in etwas - in diesem Fall Projektleitung - richtig gut zu werden. Das gilt nicht nur fuer die Projektleitung.&lt;br /&gt;
&lt;br /&gt;
developerWorks stuerzt sich auf Perfomance-Analysen: &lt;a href=&quot;https://www.ibm.com/developerworks/aix/library/au-performancedectective/index.html?ca=drs-&quot; title=&quot;The performance detective: Where does it hurt?&quot;&gt;The performance detective: Where does it hurt?&lt;/a&gt; 
    </content:encoded>

    <pubDate>Mon, 06 Feb 2012 00:00:00 +0100</pubDate>
    <guid isPermaLink="false">http://adminstories.de/index.php?/archives/127-guid.html</guid>
    <category>Schnippsel</category>

</item>
<item>
    <title>mailman</title>
    <link>http://adminstories.de/index.php?/archives/126-mailman.html</link>
            <category>Anleitungen</category>
    
    <comments>http://adminstories.de/index.php?/archives/126-mailman.html#comments</comments>
    <wfw:comment>http://adminstories.de/wfwcomment.php?cid=126</wfw:comment>

    <slash:comments>7</slash:comments>
    <wfw:commentRss>http://adminstories.de/rss.php?version=2.0&amp;type=comments&amp;cid=126</wfw:commentRss>
    

    <author>nospam@example.com (Ramon Kukla)</author>
    <content:encoded>
    Hier, heute mal Leichenfledderei :) Sprich, es gibt einen Beitrag, der auf unserer internen Dokumentation basiert, aber etwas erweitert wird. In &lt;a href=&quot;http://adminstories.de/index.php?/archives/125-Das-Backup.html&quot; title=&quot;Das Backup  - adminstories&quot;&gt;Das Backup&lt;/a&gt; hatten wir schon angemerkt, dass wir fuer uns intern eine Mailingliste nutzen. Da wir ja beinahe alles selber machen moechten, haben wir dafuer &lt;a href=&quot;http://www.gnu.org/software/mailman/index.html&quot; title=&quot;Mailman, the GNU Mailing List Manager&quot;&gt;mailman&lt;/a&gt; bei uns im Einsatz. Mailman ist eine Software fuer die Erstellung und Verwaltung von Mailinglisten. Gibt es eigentlich Alternativen?&lt;br /&gt;
&lt;br /&gt;
Sowohl die Einrichtung, als auch die Wartung und Pflege von mailman ist erfreulich uebeschaubar. Wenn man es halt mal gemacht hat. Vor der Installation legen wir in unserem DNS noch einen &lt;a href=&quot;http://de.wikipedia.org/wiki/A_Resource_Record&quot; title=&quot;A Resource Record – Wikipedia&quot;&gt;A-&lt;/a&gt; und &lt;a href=&quot;http://de.wikipedia.org/wiki/MX_Resource_Record&quot; title=&quot;MX Resource Record – Wikipedia&quot;&gt;MX&lt;/a&gt;-Record fest, da wir gerne eine eigene Subdomain fuer die Listen nutzen moechten. Wir nehmen dafuer &quot;lists&quot;. Anschliessend installieren wir mailman via &lt;code&gt;root@server:~# aptitude install mailman&lt;/code&gt;. Im Rahmen der Installation koennen wir ein paar &quot;Sprachpackete&quot; auswaehlen und werden darauf hingewiesen, dass wir, nach der Installation, noch &lt;code&gt;newlist mailman&lt;/code&gt; laufen lassen sollen.&lt;br /&gt;
&lt;br /&gt;
Erst einmal wollen wir aber schauen, dass wir mailman spaeter auch via Brower erreichen koennen.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;bash geshi&quot; style=&quot;text-align: left&quot;&gt;root&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;@&lt;/span&gt;server:~&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;# ln -s /etc/mailman/apache.conf /etc/apache2/sites-enabled/mailman&lt;/span&gt;&lt;br /&gt;root&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;@&lt;/span&gt;server:~&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;# apache2ctl configtest&lt;/span&gt;&lt;br /&gt;root&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;@&lt;/span&gt;server:~&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;# apache2ctl graceful&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
Das Apache-Modul &lt;code&gt;cgi&lt;/code&gt; braucht es auch noch. Wenn das also nicht aktiv ist, dran denken. Nun wollen wir &lt;a href=&quot;http://www.postfix.org/&quot; title=&quot;The Postfix Home Page&quot;&gt;Postfix&lt;/a&gt; noch anpassen. Dafuer nehme ich folgende Anpassungen in der &lt;code&gt;/etc/postfix/main.cf&lt;/code&gt;vor.&lt;br /&gt;
&lt;br /&gt;
&lt;code&gt;relay_domains = lists.ptlx.de&lt;br /&gt;
transport_maps = hash:/etc/postfix/transport&lt;br /&gt;
mailman_destination_recipient_limit = 1&lt;br /&gt;
alias_maps = hash:/etc/aliases, hash:/var/lib/mailman/data/aliases&lt;/code&gt;&lt;br /&gt;
&lt;br /&gt;
Bei bestehender Postfix-Konfiguration mag das natuerlich etwas anders aussehen, bzw. es koennte schon der ein oder andere Eintrag bei euch vorhanden sein. Damit wir spaeter keine &quot;loops back to myself&quot;-Meldungen erhalten, passen wir in der &lt;code&gt;/etc/postfix/main.cf&lt;/code&gt; noch das &lt;code&gt;&lt;a href=&quot;http://www.postfix.org/postconf.5.html#mydestination&quot; title=&quot;Postfix Configuration Parameters &quot;&gt;my destination&lt;/a&gt;&lt;/code&gt; an und fuegen die Domain, die wir auch bei &lt;code&gt;relay_domains&lt;/code&gt; angegeben haben (siehe oben), hinzu.&lt;br /&gt;
&lt;br /&gt;
In der &lt;code&gt;/etc/postfix/master.cf&lt;/code&gt; sollten wir nun folgender Eintrag zu finden sein.&lt;br /&gt;
&lt;code&gt;mailman   unix  -       n       n       -       -       pipe&lt;br /&gt;
  flags=FR user=list argv=/usr/lib/mailman/bin/postfix-to-mailman.py&lt;br /&gt;
  ${nexthop} ${user}&lt;/code&gt;&lt;br /&gt;
&lt;br /&gt;
Nun erstellen wir noch die Datei &lt;code&gt;&lt;a href=&quot;http://www.postfix.org/transport.5.html&quot; title=&quot; Postfix manual - transport(5) &quot;&gt;/etc/postfix/transport&lt;/a&gt;&lt;/code&gt;, tragen dort &lt;code&gt;list.ptlx.de	mailman:&lt;/code&gt; ein und erstellen/aktualisieren anschliessend via &lt;code&gt;postmap -v /etc/postfix/transport&lt;/code&gt; (-v fuer verbose) die sogenannte &quot;Postfix lookup table&quot;. Soweit, so Postfix.&lt;br /&gt;
&lt;br /&gt;
Nun noch etwas fuer mailman konfigurieren (warum wir uns heute ja auch getroffen haben). Wir haben fuer uns folgendes in der &lt;code&gt;/etc/mailman/mm_cfg.py&lt;/code&gt; eingestellt:&lt;br /&gt;
&lt;br /&gt;
&lt;code&gt;DEFAULT_URL_PATTERN = &#039;https://%s/cgi-bin/mailman/&#039;&lt;br /&gt;
DEFAULT_EMAIL_HOST = &#039;lists.ptlx.de&#039;&lt;br /&gt;
DEFAULT_URL_HOST   = &#039;www.ptlx.de&#039;&lt;br /&gt;
MTA=&#039;Postfix&#039;&lt;/code&gt;&lt;br /&gt;
&lt;br /&gt;
Dann noch via &lt;code&gt;newlist mailman&lt;/code&gt; die, nennen wir es mal, &quot;initiale&quot; Liste anlegen und anschliessend die Aliases in &lt;code&gt;/etc/aliases&lt;/code&gt; einstellen.&lt;br /&gt;
&lt;br /&gt;
&lt;code&gt;mailman:              &quot;|/var/lib/mailman/mail/mailman post mailman&quot;&lt;br /&gt;
mailman-admin:        &quot;|/var/lib/mailman/mail/mailman admin mailman&quot;&lt;br /&gt;
mailman-bounces:      &quot;|/var/lib/mailman/mail/mailman bounces mailman&quot;&lt;br /&gt;
mailman-confirm:      &quot;|/var/lib/mailman/mail/mailman confirm mailman&quot;&lt;br /&gt;
mailman-join:         &quot;|/var/lib/mailman/mail/mailman join mailman&quot;&lt;br /&gt;
mailman-leave:        &quot;|/var/lib/mailman/mail/mailman leave mailman&quot;&lt;br /&gt;
mailman-owner:        &quot;|/var/lib/mailman/mail/mailman owner mailman&quot;&lt;br /&gt;
mailman-request:      &quot;|/var/lib/mailman/mail/mailman request mailman&quot;&lt;br /&gt;
mailman-subscribe:    &quot;|/var/lib/mailman/mail/mailman subscribe mailman&quot;&lt;br /&gt;
mailman-unsubscribe:  &quot;|/var/lib/mailman/mail/mailman unsubscribe mailman&quot;&lt;/code&gt;&lt;br /&gt;
&lt;br /&gt;
Was zu unserem Glueck nun noch fehlt ist die Initialisierung der sogenannten &quot;alias-datenbank&quot; und der Neustart von Postfix (sicher ist sicher).&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;bash geshi&quot; style=&quot;text-align: left&quot;&gt;root&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;@&lt;/span&gt;server:~&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;# newaliases&lt;/span&gt;&lt;br /&gt;root&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;@&lt;/span&gt;server:~&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;# /etc/init.d/postfix restart&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
Statt &lt;code&gt;newaliases&lt;/code&gt; kann im Uebrigen auch &lt;code&gt;sendmail -bi&lt;/code&gt; verwendet werden.&lt;br /&gt;
&lt;br /&gt;
Im Rahmen der Erstellung der ersten Liste sollte es nun auch eine Mail an die Adresse gehen, die hier fuer &quot;Enter the email of the person running the list:&quot; eingetragen habt. Dort findet sich dann unter anderem dem Link, ueber den mailman nun via http(s) konfiguriert werden kann. So, fertig :)&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;Migration?&lt;/strong&gt;&lt;br /&gt;
Wenn mailman laeuft ist die Migration einer Liste recht einfach. Dafuer werden erst einmal alle Listendaten auf dem alten Server eingesammelt...&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;bash geshi&quot; style=&quot;text-align: left&quot;&gt;root&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;@&lt;/span&gt;server:&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;var&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;lib&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;mailman&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;# tar cfz /root/archiv.tar.gz archives/&lt;/span&gt;&lt;br /&gt;root&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;@&lt;/span&gt;server:&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;var&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;lib&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;mailman&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;# tar cfz /root/data.tar.gz data/&lt;/span&gt;&lt;br /&gt;root&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;@&lt;/span&gt;server:&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;var&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;lib&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;mailman&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;# tar cfz /root/lists.tar.gz lists/&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
...und nach dem Uebetragen auf den neuen Server koennen die Daten dort entpackt und an die richtige Stelle gebracht werden.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;bash geshi&quot; style=&quot;text-align: left&quot;&gt;root&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;@&lt;/span&gt;foo ~ &lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;# tar xzf archiv.tar.gz&lt;/span&gt;&lt;br /&gt;root&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;@&lt;/span&gt;foo ~ &lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;# tar xzf data.tar.gz&lt;/span&gt;&lt;br /&gt;root&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;@&lt;/span&gt;foo ~ &lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;# tar xzf lists.tar.gz&lt;/span&gt;&lt;br /&gt;root&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;@&lt;/span&gt;foo ~ &lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;# mv archives/&lt;strong&gt; /var/lib/mailman/archives/&lt;/span&gt;&lt;br /&gt;root&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;@&lt;/span&gt;foo ~ &lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;# mv data/&lt;/strong&gt; /var/lib/mailman/data/&lt;/span&gt;&lt;br /&gt;root&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;@&lt;/span&gt;foo ~ &lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;# mv lists/* /var/lib/mailman/lists/&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
Nachfolgend sollte noch ein &lt;code&gt;check_perms&lt;/code&gt; ausgefuehrt werden, der die Berechtigungen auf fuer mailman wichtige Verzeichnisse prueft. Die Option &lt;code&gt;-f&lt;/code&gt; besagt, dass falsch gesetzte Berechtigungen auch gleich in Ordnung gebracht werden.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;bash geshi&quot; style=&quot;text-align: left&quot;&gt;root&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;@&lt;/span&gt;foo ~ &lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;# check_perms -f&lt;/span&gt;&lt;br /&gt;root&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;@&lt;/span&gt;foo ~ &lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;# /etc/init.d/mailman start&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;strong&gt;Probleme?&lt;/strong&gt;&lt;br /&gt;
Was kann passieren oder ist vielleicht noch interessant zu wissen? Mir ist schon passiert, dass ich mailman nicht gaengig bekommen habe und in der &lt;code&gt;/etc/mail.log&lt;/code&gt; die Meldung &lt;code&gt;postfix/smtpd[25778]: fatal: open database /var/lib/mailman/data/aliases.db: No such file or directory&lt;/code&gt; zu sehen war. Dann muss die Datei &lt;code&gt;aliases.db&lt;/code&gt; noch angelegt werden.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;bash geshi&quot; style=&quot;text-align: left&quot;&gt;root&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;@&lt;/span&gt;server &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;srv&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;dav &lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;# touch /var/lib/mailman/data/aliases.db&lt;/span&gt;&lt;br /&gt;root&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;@&lt;/span&gt;server &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;srv&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;dav &lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;# postalias /var/lib/mailman/data/aliases.db&lt;/span&gt;&lt;br /&gt;root&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;@&lt;/span&gt;server &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;srv&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;dav &lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;# /etc/init.d/postfix restart&lt;/span&gt;&lt;br /&gt;&amp;#160;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;*&lt;/span&gt; Stopping Postfix Mail Transport Agent postfix &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#91;&lt;/span&gt; OK &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#93;&lt;/span&gt;&lt;br /&gt;&amp;#160;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;*&lt;/span&gt; Starting Postfix Mail Transport Agent postfix &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#91;&lt;/span&gt; OK &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#93;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
Wenn nach der Migration in der Mailingliste der konfigurierte Hostname nicht mehr stimmt, kann das wie folgt in Ordnung gebracht werden.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;bash geshi&quot; style=&quot;text-align: left&quot;&gt;root&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;@&lt;/span&gt;server &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;var&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;lib&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;mailman&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;bin $ .&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;withlist &amp;#160;&lt;span style=&quot;color: #660033;&quot;&gt;-l&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-r&lt;/span&gt; fix_url LISTNAME &lt;span style=&quot;color: #660033;&quot;&gt;-u&lt;/span&gt; foo.ptlx.de &lt;span style=&quot;color: #660033;&quot;&gt;-v&lt;/span&gt;&lt;br /&gt;Importing fix_url...&lt;br /&gt;Running fix_url.fix_url&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt;...&lt;br /&gt;Loading list hosting &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#40;&lt;/span&gt;locked&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;Setting web_page_url to: http:&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;//&lt;/span&gt;foo.ptlx.de&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;cgi-bin&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;mailman&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;&lt;br /&gt;Setting host_name to: lists.ptlx.de&lt;br /&gt;Saving list&lt;br /&gt;Finalizing&lt;/div&gt;&lt;br /&gt;
Und um eine Mailingliste von http auf https, oder umgekehrt, zu bringen kann man wie folgt vorgehen. Erst einmal den &lt;code&gt;DEFAULT_URL_PATTERN&lt;/code&gt; in der &lt;code&gt;/etc/mailman/mm_cfg.py&lt;/code&gt; anpassen. Damit werden alle neuen Listen schon mal wie gewuenscht erstellt. Fuer alte Listen muss man noch dann nur noch &lt;code&gt;fix_url&lt;/code&gt; aufrufen.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;bash geshi&quot; style=&quot;text-align: left&quot;&gt;root&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;@&lt;/span&gt;server &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;var&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;lib&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;mailman&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;bin $ withlist &lt;span style=&quot;color: #660033;&quot;&gt;-l&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-a&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-r&lt;/span&gt; fix_url&lt;/div&gt;&lt;br /&gt;
Wobei die Optionen &lt;code&gt;-l&lt;/code&gt;, &lt;code&gt;-a&lt;/code&gt; und &lt;code&gt;-r&lt;/code&gt; fuer &lt;code&gt;lock list&lt;/code&gt;, &lt;code&gt;all lists&lt;/code&gt; und &lt;code&gt;run module&lt;/code&gt; stehen. 
    </content:encoded>

    <pubDate>Fri, 03 Feb 2012 09:00:00 +0100</pubDate>
    <guid isPermaLink="false">http://adminstories.de/index.php?/archives/126-guid.html</guid>
    <category>Anleitungen</category>
<category>command line</category>

</item>
<item>
    <title>KW 2012/04 - Fundstuecke</title>
    <link>http://adminstories.de/index.php?/archives/124-KW-201204-Fundstuecke.html</link>
            <category>Schnippsel</category>
    
    <comments>http://adminstories.de/index.php?/archives/124-KW-201204-Fundstuecke.html#comments</comments>
    <wfw:comment>http://adminstories.de/wfwcomment.php?cid=124</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://adminstories.de/rss.php?version=2.0&amp;type=comments&amp;cid=124</wfw:commentRss>
    

    <author>nospam@example.com (Dirk Deimeke)</author>
    <content:encoded>
    &lt;strong&gt;Kalenderwoche 04, 23.-29.01.2012&lt;/strong&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://github.com/joho/7XX-rfc&quot; title=&quot;joho/7XX-rfc · GitHub&quot;&gt;RFC for the 7XX Range of HTTP Status codes - Developer Errors&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://james-iry.blogspot.com/2009/05/brief-incomplete-and-mostly-wrong.html&quot; title=&quot;One Div Zero: A Brief, Incomplete, and Mostly Wrong History of Programming Languages&quot;&gt;One Div Zero: A Brief, Incomplete, and Mostly Wrong History of Programming Languages&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Ein lesenswerter Artikel mit einem sehr provokanten Titel: &lt;a href=&quot;http://utcc.utoronto.ca/~cks/space/blog/sysadmin/SysadminDeath&quot; title=&quot; Chris&amp;#39;s Wiki :: blog/sysadmin/SysadminDeath &quot;&gt;The death of system administration: I&#039;m all for it&lt;/a&gt;, ich muss ihm Recht geben.&lt;br /&gt;
&lt;br /&gt;
In die gleiche Richtung und ebenfalls gut geschrieben: &lt;a href=&quot;http://www.sysvol.org/2012/01/devops-and-me/&quot; title=&quot;DevOps and me | System Volume&quot;&gt;DevOps and me&lt;/a&gt; 
    </content:encoded>

    <pubDate>Mon, 30 Jan 2012 00:00:00 +0100</pubDate>
    <guid isPermaLink="false">http://adminstories.de/index.php?/archives/124-guid.html</guid>
    <category>Schnippsel</category>

</item>
<item>
    <title>Das Backup</title>
    <link>http://adminstories.de/index.php?/archives/125-Das-Backup.html</link>
            <category>Bewaehrtes</category>
    
    <comments>http://adminstories.de/index.php?/archives/125-Das-Backup.html#comments</comments>
    <wfw:comment>http://adminstories.de/wfwcomment.php?cid=125</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://adminstories.de/rss.php?version=2.0&amp;type=comments&amp;cid=125</wfw:commentRss>
    

    <author>nospam@example.com (Ramon Kukla)</author>
    <content:encoded>
    Da gibt es uns schon so lange und wir haben nicht einmal ueber das Thema &quot;Backup&quot; gesprochen. Wobei in dem nun folgenden Zusammenhang wohl eher &quot;Der Backup(kollege)&quot; korrekt waere. Oder eben &quot;Die Backup(kollegin)&quot;.&lt;br /&gt;
&lt;br /&gt;
Wir alle haben unsere Aufgaben und erledigen die gut bis besser (hoffentlich der Regelfall) oder schlechter. Das Ergebnis unserer Arbeit ist natuerlich immer von vielen Umgebungsvariablen abhaengig. Aber was passiert wenn wir nicht verfuegbar sind? Im optimalen Fall spreche ich hier von der Urlaubszeit. Aber man kann ja auch mal krank werden, vom Auto angefahren werden... Oder es passiert, was niemandem zu wuenschen ist, noch schlimmeres. Koennen die von mir administrierten Systeme noch am Laufen gehalten werden. Oder, was eher passiert, kann im Fehlerfall jemand helfen, wenn ich nicht da bin?&lt;br /&gt;
&lt;br /&gt;
Aus meiner Sicht ist es wichtig hier alles zu tun, damit die Systeme weiter betrieben werden koennen, auch wenn ich mal vier Wochen Urlaub habe. Natuerlich fuehlt man sich erst mal gebauchpinselt, wenn man angerufen wird, weil es ein &lt;strong&gt;ganz&lt;/strong&gt; dringendes Problem gibt und man der Einzige ist, der nun den Erhalt des Unternehmens sicherstellen kann. Aber die Zeit, in der ich diese &quot;Bestaetigung&quot; brauchte ist lange vorbei. Heute arbeite ich um zu leben. Ich habe viel Spass an meiner Arbeit. Aber wenn ich nach Hause gehe, dann will ich Ruhe haben. Dann moechte ich mich auf mich, meine Familie und meine Hobbies konzentrieren koennen. Und mal unter uns. Fuehlt man sich noch immer so gebauchpinselt, wenn das private Handy im Kroatienurlaub zum dritten mal klingelt, nur weil man irgendeinen simplen Prozess nicht dokumentiert hat?&lt;br /&gt;
&lt;br /&gt;
Womit wir schon beim Punkt waere. Wichtig, um Kollegen oder dem Ersatzmann die Arbeit zu ermoeglichen, ist die Dokumentation. Damit sind Dinge wie &quot;Was war meine taegliche Aufgabe&quot; bis hin zu &quot;Was mache ich im Fehlerfall ABC&quot;. Dirk und ich betreuen ja gemeinsam einige Server und daher kann man uns ja auch als Beispiel nehmen. Wobei wir das bei Weitem nicht perfekt machen, da es unser privater Spass ist und vom Betrieb der Server keine Arbeitsplaetze abhaengen. Wichtig zu wissen ist sicher noch, dass eine Dokumentation nicht bis ins letzte Details ausformuliert sein muss. Es ist aber wichtig, dass da etwas im Dokumentationsmedium zu finden ist.&lt;br /&gt;
&lt;br /&gt;
Was machen wir also um eine solide Basis zu bekommen und zu erhalten?&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://trac.edgewall.org/&quot; title=&quot;      The Trac Project    &quot;&gt;Trac&lt;/a&gt; ist eine Software, die Python-basiert ein Wiki, ein Ticket-System und einen Repository-Browser beeinhaltet.&lt;br /&gt;
&lt;br /&gt;
Wir...&lt;br /&gt;
...nutzen ein Trac in dem wir installierte Dienste und Anwendungen beschreiben.&lt;br /&gt;
...nutzen das Trac in dem wir, wenn noetig, dokumentieren wie Dienst ABC installiert/konfiguriert wurde.&lt;br /&gt;
...nutzen das Trac in dem wir unsere Systeme (Hardware) und wichtige Daten (Kontakadressen, etc.) dokumentieren.&lt;br /&gt;
...nutzen das Ticketsystem des Trac fuer das &quot;Erinnern&quot; und Erledigen von Aufgaben.&lt;br /&gt;
...stellen sicher, dass wir beide immer identische Rechte auf wichtige Ressourcen haben.&lt;br /&gt;
...haben eine eigene Mailingliste (ja, nur wir zwei) in der wir beinahe alle unsere Systeme betreffenden Punkte besprechen.&lt;br /&gt;
&lt;br /&gt;
Der Vorteil einer Mailingliste ist, neben der zentralen Archivierung auf dem Server, dass wir auch alternative Mailadressen eintragen koennen, damit wir z.B. auch im Buero erreichbar sind. &lt;br /&gt;
&lt;br /&gt;
Wir planen seit einiger Zeit auch die Verwendung sogenannter &lt;a href=&quot;http://everythingsysadmin.com/the-test.html#opsdoc&quot; title=&quot;Everything Sysadmin: The Limoncelli Test: 32 Questions for Your Sysadmin Team&quot;&gt;OpsDocs&lt;/a&gt;. Leider sind wir da in den letzten Wochen nicht zu gekommen, da uns andere Projekte Zeit geklaut haben. Diese Dokumente wuerden uns in einzelnen Punkten auf jeden Fall helfen uns zu verbessern. Aber...! Wir sind mit all den genannten Dingen bereits so weit, dass sowohl Dirk, als auch ich, mal vier Wochen im Urlaub verschwinden kann, ohne dass es bei Problemen zu Anrufen kommt, weil der eine nicht weiss, was der andere gemacht hat. Ausnahmen bestaetigen natuerlich die Regel. Wenn der Server wegen eines Crashes komplett neu aufgesetzt werden muss, machen wir das beide. Nicht in erster Linie wegen fehlendem Wissen. Hier hat sich einfach bewaehrt, mit vier Augen eine unter Zeitdruck zu erledigende Installation durch zu fuehren.&lt;br /&gt;
&lt;br /&gt;
Dokumentation ist es aber, was wichtig ist. Es muss eine Dokumentations- und Berechtigungsbasis geschaffen werden die es dem &quot;Ersatz&quot; erlaubt die Arbeit zu uebernehmen und Fehler zu beheben, wenn es drauf ankommt.&lt;br /&gt;
&lt;br /&gt;
Klar ist, dass nicht immer alles dokumentiert werden kann. Eine oft ignorierte Voraussetzung fuer ein erfolgreiches Backup ist, dass der Backuppartner eben auch ueber vergleichbares Wissen verfuegt. Zu glauben, mann muss einfach nur alle moeglichen Fehler eines Domino-Servers inklusive der Loesungen dokumentieren und dann kann da auch ein Netzwerker helfen, ist verrueckt. Um Probleme zu loesen ist in der Regel auch ausreichend Hintergrundwissen wichtig um auch Zusammenhaenge zu erkennen und zu verstehen. Ansonsten koennte, bei ausreichender Dokumentation, ja jeder jeden Job machen.&lt;br /&gt;
&lt;br /&gt;
Vereinzelt gibt es ja noch den Irrglaube, dass der eigene Job sicher ist, wenn man Wissen nicht weiter gibt. Kopfmonopol wird sowas genannt. Das stimmt heute aber eher selten bis gar nicht mehr. Jeder Mitarbeiter ist ersetzbar. Und wenn man nicht als Einzelperson betroffen ist, kann es auch schon mal passieren, dass man im Rahmen des Outsourcen einer IT-Abteilung mitgehen muss. Es ist auch einfach so, dass wir unsere Arbeit professionell erledigen wollen. Zum Einen weil es Spass macht, zum Anderen hat das natuerlich auch ganz handfesten Nutzen. Die eigene Arbeit wird besser wahrgenommen und das hilft bei Befoerderungen, Jobwechseln oder anderem, was einem dann auch wieder helfen kann interessantere Aufgaben zu bekommen. 
    </content:encoded>

    <pubDate>Fri, 27 Jan 2012 09:00:00 +0100</pubDate>
    <guid isPermaLink="false">http://adminstories.de/index.php?/archives/125-guid.html</guid>
    <category>Bewaehrtes</category>

</item>
<item>
    <title>KW 2012/03 - Fundstuecke</title>
    <link>http://adminstories.de/index.php?/archives/122-KW-201203-Fundstuecke.html</link>
            <category>Schnippsel</category>
    
    <comments>http://adminstories.de/index.php?/archives/122-KW-201203-Fundstuecke.html#comments</comments>
    <wfw:comment>http://adminstories.de/wfwcomment.php?cid=122</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://adminstories.de/rss.php?version=2.0&amp;type=comments&amp;cid=122</wfw:commentRss>
    

    <author>nospam@example.com (Dirk Deimeke)</author>
    <content:encoded>
    &lt;strong&gt;Kalenderwoche 03, 16.-22.01.2012&lt;/strong&gt;&lt;br /&gt;
&lt;br /&gt;
Sehr lohnenswerter Artikel: &lt;a href=&quot;http://utcc.utoronto.ca/~cks/space/blog/linux/LinuxMemoryStats&quot; title=&quot; Chris&amp;#39;s Wiki :: blog/linux/LinuxMemoryStats &quot;&gt;What you can find out about the memory usage of your Linux programs&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Hier ist eine sehr gute Einführung in die Arbeit mit der Kommandozeile:&lt;a href=&quot;http://linuxcommand.org/&quot; title=&quot;LinuxCommand.org: Learn the Linux command line. Write shell scripts.&quot;&gt; LinuxCommand.org: Learn the Linux command line. Write shell scripts.&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
DeveloperWorks hat in der Reihe Scripting KVM with Python den zweiten Teil veröffentlicht: &lt;a href=&quot;https://www.ibm.com/developerworks/linux/library/os-python-kvm-scripting2/index.html?ca=drs-&quot; title=&quot;Scripting KVM with Python, Part 2: Add a GUI to manage KVM with libvirt and Python&quot;&gt;Add a GUI to manage KVM with libvirt and Python&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://rogerdudler.github.com/git-guide/index.de.html&quot; title=&quot;git - der einfache einstieg - kein schnick-schnack!&quot;&gt;git - der einfache einstieg - kein schnick-schnack!&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Gute Gegenueberstellung der alten und der neuen Befehle: &lt;a href=&quot;https://dougvitale.wordpress.com/2011/12/21/deprecated-linux-networking-commands-and-their-replacements/&quot; title=&quot;Deprecated Linux networking commands and their replacements &amp;laquo;  Doug Vitale Tech Blog&quot;&gt;Deprecated Linux networking commands and their replacements&lt;/a&gt; 
    </content:encoded>

    <pubDate>Mon, 23 Jan 2012 00:00:00 +0100</pubDate>
    <guid isPermaLink="false">http://adminstories.de/index.php?/archives/122-guid.html</guid>
    <category>Schnippsel</category>

</item>
<item>
    <title>Zentrale .bashrc (3)</title>
    <link>http://adminstories.de/index.php?/archives/123-Zentrale-.bashrc-3.html</link>
            <category>Werkzeugkasten</category>
    
    <comments>http://adminstories.de/index.php?/archives/123-Zentrale-.bashrc-3.html#comments</comments>
    <wfw:comment>http://adminstories.de/wfwcomment.php?cid=123</wfw:comment>

    <slash:comments>2</slash:comments>
    <wfw:commentRss>http://adminstories.de/rss.php?version=2.0&amp;type=comments&amp;cid=123</wfw:commentRss>
    

    <author>nospam@example.com (Dirk Deimeke)</author>
    <content:encoded>
    Es ist Zeit für einen weiteren Schluck aus der zentralen .bashrc (&lt;a href=&quot;http://adminstories.de/index.php?/archives/24-Zentrale-.bashrc-1.html&quot; title=&quot;Zentrale .bashrc (1)  - adminstories&quot;&gt;Teil 1&lt;/a&gt;, &lt;a href=&quot;http://adminstories.de/index.php?/archives/89-Zentrale-.bashrc-2.html&quot; title=&quot;Zentrale .bashrc (2)  - adminstories&quot;&gt;Teil 2&lt;/a&gt;). In diesem Teil geht es um Aliases.&lt;br /&gt;
&lt;br /&gt;
Da alles sowohl unter Solaris, wie auch unter Linux, jeweils in verschiedenen Versionen, laufen muss, sehen ein paar Konstrukte vielleicht seltsam aus, erfuellen aber ihren Zweck.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;bash geshi&quot; style=&quot;text-align: left&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;function&lt;/span&gt; set_aliases &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;alias&lt;/span&gt; &lt;span style=&quot;color: #007800;&quot;&gt;ll&lt;/span&gt;=&lt;span style=&quot;color: #ff0000;&quot;&gt;&#039;ls -ltr&#039;&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;alias&lt;/span&gt; &lt;span style=&quot;color: #007800;&quot;&gt;&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;vi&lt;/span&gt;&lt;/span&gt;=&lt;span style=&quot;color: #ff0000;&quot;&gt;&#039;vi +&amp;quot;set nu&amp;quot;&#039;&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;alias&lt;/span&gt; &lt;span style=&quot;color: #007800;&quot;&gt;&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;vim&lt;/span&gt;&lt;/span&gt;=&lt;span style=&quot;color: #ff0000;&quot;&gt;&#039;vim +&amp;quot;set nu&amp;quot; +&amp;quot;syn on&amp;quot;&#039;&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;case&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;&lt;span style=&quot;color: #780078;&quot;&gt;`uname`&lt;/span&gt;&amp;quot;&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;in&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;Linux&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;export&lt;/span&gt; &lt;span style=&quot;color: #007800;&quot;&gt;GREP&lt;/span&gt;=&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;usr&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;bin&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;grep&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;;;&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;SunOS&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;export&lt;/span&gt; &lt;span style=&quot;color: #007800;&quot;&gt;GREP&lt;/span&gt;=&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;usr&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;xpg4&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;bin&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;grep&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;;;&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;esac&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;if&lt;/span&gt; &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#91;&lt;/span&gt; &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#40;&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;&lt;span style=&quot;color: #007800;&quot;&gt;$HOSTNAME&lt;/span&gt;&amp;quot;&lt;/span&gt; = &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;Solaris Adminmaschine&amp;quot;&lt;/span&gt; &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;||&lt;/span&gt; &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#40;&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;&lt;span style=&quot;color: #007800;&quot;&gt;$HOSTNAME&lt;/span&gt;&amp;quot;&lt;/span&gt; = &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;Linux Adminmaschine&amp;quot;&lt;/span&gt; &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#93;&lt;/span&gt;&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#93;&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;then&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;alias&lt;/span&gt; &lt;span style=&quot;color: #007800;&quot;&gt;daily&lt;/span&gt;=&lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;echo -ne &lt;span style=&quot;color: #000099; font-weight: bold;&quot;&gt;\&amp;quot;&lt;/span&gt;\e]2;daily\a\e]1;$@\a&lt;span style=&quot;color: #000099; font-weight: bold;&quot;&gt;\&amp;quot;&lt;/span&gt; ; if screen -ls | &lt;span style=&quot;color: #007800;&quot;&gt;$GREP&lt;/span&gt; -q daily ; then screen -rx daily ; else screen -c ~/screenrc.daily ; fi&amp;quot;&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;alias&lt;/span&gt; &lt;span style=&quot;color: #007800;&quot;&gt;build&lt;/span&gt;=&lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;echo -ne &lt;span style=&quot;color: #000099; font-weight: bold;&quot;&gt;\&amp;quot;&lt;/span&gt;\e]2;build\a\e]1;$@\a&lt;span style=&quot;color: #000099; font-weight: bold;&quot;&gt;\&amp;quot;&lt;/span&gt; ; if screen -ls | &lt;span style=&quot;color: #007800;&quot;&gt;$GREP&lt;/span&gt; -q build ; then screen -rx build ; else screen -c ~/screenrc.build ; fi&amp;quot;&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;alias&lt;/span&gt; &lt;span style=&quot;color: #007800;&quot;&gt;work&lt;/span&gt;=&lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;echo -ne &lt;span style=&quot;color: #000099; font-weight: bold;&quot;&gt;\&amp;quot;&lt;/span&gt;\e]2;work\a\e]1;$@\a&lt;span style=&quot;color: #000099; font-weight: bold;&quot;&gt;\&amp;quot;&lt;/span&gt; ; if screen -ls | &lt;span style=&quot;color: #007800;&quot;&gt;$GREP&lt;/span&gt; -q work ; then screen -rx work ; else screen -S work ; fi&amp;quot;&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;alias&lt;/span&gt; &lt;span style=&quot;color: #007800;&quot;&gt;chg&lt;/span&gt;=&lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;echo -ne &lt;span style=&quot;color: #000099; font-weight: bold;&quot;&gt;\&amp;quot;&lt;/span&gt;\e]2;chg\a\e]1;$@\a&lt;span style=&quot;color: #000099; font-weight: bold;&quot;&gt;\&amp;quot;&lt;/span&gt; ; if screen -ls | &lt;span style=&quot;color: #007800;&quot;&gt;$GREP&lt;/span&gt; -q chg ; then screen -rx chg ; else screen -S chg ; fi&amp;quot;&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;fi&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;alias&lt;/span&gt; &lt;span style=&quot;color: #007800;&quot;&gt;memory&lt;/span&gt;=&lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;ps -e -o comm= -o rss= | sort | awk &#039;{if (OLD==&lt;span style=&quot;color: #000099; font-weight: bold;&quot;&gt;\$&lt;/span&gt;1) {SUM+=&lt;span style=&quot;color: #000099; font-weight: bold;&quot;&gt;\$&lt;/span&gt;2} else {print SUM,OLD ; OLD=&lt;span style=&quot;color: #000099; font-weight: bold;&quot;&gt;\$&lt;/span&gt;1 ; SUM=&lt;span style=&quot;color: #000099; font-weight: bold;&quot;&gt;\$&lt;/span&gt;2}} END {print SUM,OLD}&#039; | sort -n&amp;quot;&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;alias&lt;/span&gt; &lt;span style=&quot;color: #007800;&quot;&gt;dfh&lt;/span&gt;=&lt;span style=&quot;color: #ff0000;&quot;&gt;&#039;perl /home/dirk/workspace/dde/dfh.pl&#039;&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;alias&lt;/span&gt; &lt;span style=&quot;color: #007800;&quot;&gt;duh&lt;/span&gt;=&lt;span style=&quot;color: #ff0000;&quot;&gt;&#039;perl /home/dirk/workspace/dde/duh.pl&#039;&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;alias&lt;/span&gt; &lt;span style=&quot;color: #007800;&quot;&gt;psg&lt;/span&gt;=&lt;span style=&quot;color: #ff0000;&quot;&gt;&#039;ps -ef | grep -v grep | grep -i&#039;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
Die Funktion gehe ich mal von oben nach unten durch.&lt;br /&gt;
&lt;br /&gt;
Das &lt;code&gt;ll&lt;/code&gt;-Alias ist ein Relikt aus alten Tagen, dass ich gar nicht mehr verwende. &lt;code&gt;ls -ltr&lt;/code&gt; sortiert nach Datum und zeigt die aktuellsten Dateien zum Schluss.&lt;br /&gt;
&lt;br /&gt;
&lt;code&gt;vi&lt;/code&gt; und &lt;code&gt;vim&lt;/code&gt; benutze ich gerne mit Zeilennummern, letzteren auch mit eingeschaltetem Syntax-Highlighting.&lt;br /&gt;
&lt;br /&gt;
Unter Linux und Solaris kommen bei mir unterschiedliche Versionen von &lt;code&gt;grep&lt;/code&gt; zum Einsatz, das mache ich, damit &lt;code&gt;grep -q&lt;/code&gt; bei den folgenden Eintraegen funktioniert.&lt;br /&gt;
&lt;br /&gt;
Ich nutze kein PuTTY, sondern Cygwin, um unter Windows per SSH Verbindungen auf die Truemmer herzustellen. Wenn ich mich auf meiner Linux- oder Solaris-Adminmaschine befinde, nutze ich &lt;code&gt;screen&lt;/code&gt;, um von dort auf andere Server zuzugreifen. Das &lt;code&gt;echo&lt;/code&gt;-Kommando aendert den Fenstertitel und wenn noch keine Screen-Session namens daily, build, work oder chg existiert, wird eine mit der entsprechenden Konfiguration angelegt.&lt;br /&gt;
&lt;br /&gt;
Das &lt;code&gt;memory&lt;/code&gt;-Alias gibt eine Idee darueber, wo gerade der Speicher verbraten wird.&lt;br /&gt;
&lt;br /&gt;
&lt;code&gt;dfh&lt;/code&gt; und &lt;code&gt;duh&lt;/code&gt; verweisen auf die &lt;a href=&quot;http://adminstories.de/index.php?/archives/49-dfh-und-duh.html&quot; title=&quot;dfh und duh  - adminstories&quot;&gt;entsprechenden Perl-Skripte&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
Und zuletzt &lt;code&gt;psg&lt;/code&gt; macht einen &lt;code&gt;grep&lt;/code&gt; auf die laufenden Prozesse. 
    </content:encoded>

    <pubDate>Fri, 20 Jan 2012 09:00:00 +0100</pubDate>
    <guid isPermaLink="false">http://adminstories.de/index.php?/archives/123-guid.html</guid>
    <category>command line</category>
<category>Werkzeugkasten</category>

</item>
<item>
    <title>KW 2012/02 - Fundstuecke</title>
    <link>http://adminstories.de/index.php?/archives/120-KW-201202-Fundstuecke.html</link>
            <category>Schnippsel</category>
    
    <comments>http://adminstories.de/index.php?/archives/120-KW-201202-Fundstuecke.html#comments</comments>
    <wfw:comment>http://adminstories.de/wfwcomment.php?cid=120</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://adminstories.de/rss.php?version=2.0&amp;type=comments&amp;cid=120</wfw:commentRss>
    

    <author>nospam@example.com (Dirk Deimeke)</author>
    <content:encoded>
    &lt;strong&gt;Kalenderwoche 02, 09.-15.01.2012&lt;/strong&gt;&lt;br /&gt;
&lt;br /&gt;
Habe gerade gesehen, dass es sogar einen Planeten fuer Sysadmin-Ressourcen gibt: &lt;a href=&quot;http://www.sysadminblogs.com/planet/&quot; title=&quot;Planet Sysadmin&quot;&gt;Planet Sysadmin&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Damit es endlich mal jeder versteht: &lt;a href=&quot;http://www.linuxatemyram.com/&quot; title=&quot;Help! Linux ate my RAM!&quot;&gt;Help! Linux ate my RAM!&lt;/a&gt; 
    </content:encoded>

    <pubDate>Mon, 16 Jan 2012 00:00:00 +0100</pubDate>
    <guid isPermaLink="false">http://adminstories.de/index.php?/archives/120-guid.html</guid>
    <category>Schnippsel</category>

</item>
<item>
    <title>Logwatch</title>
    <link>http://adminstories.de/index.php?/archives/121-Logwatch.html</link>
            <category>Werkzeugkasten</category>
    
    <comments>http://adminstories.de/index.php?/archives/121-Logwatch.html#comments</comments>
    <wfw:comment>http://adminstories.de/wfwcomment.php?cid=121</wfw:comment>

    <slash:comments>8</slash:comments>
    <wfw:commentRss>http://adminstories.de/rss.php?version=2.0&amp;type=comments&amp;cid=121</wfw:commentRss>
    

    <author>nospam@example.com (Dirk Deimeke)</author>
    <content:encoded>
    Der Eine oder andere hat vielleicht &lt;a href=&quot;http://www.deimeke.net/dirk/blog/index.php?/archives/2900-Speichertest-....html&quot; title=&quot;Speichertest ... | Dirks Logbuch&quot;&gt;meinen Blogartikel&lt;/a&gt; gelesen, in dem ich sehr kurzfristig eine Ausfallzeit unseres Mailservers bekannt geben musste. Das Problem, dass die Festplatte defekt war, lag direkt vor unserer Nase, wir haben es nur nicht gesehen.&lt;br /&gt;
&lt;br /&gt;
Vorzusingen nach der Weise &lt;a href=&quot;https://en.wikipedia.org/wiki/Blowin%27_in_the_Wind&quot; title=&quot;Blowin&#039; in the Wind - Wikipedia, the free encyclopedia&quot;&gt;Blowing in the Wind&lt;/a&gt;:&lt;blockquote&gt;The answer, my friend, is written in the logs, ...&lt;/blockquote&gt;Auf unseren Servern haben wir &lt;a href=&quot;http://www.logwatch.org/&quot; title=&quot;Logwatch -  Browse Files at SourceForge.net&quot;&gt;Logwatch&lt;/a&gt; eingerichtet, um taeglich einen &quot;relevanten&quot; Auszug aus den Logdateien via E-Mail zu bekommen. Enthaltene Informationen sollten so wichtig sein, dass sie nicht ignoriert werden duerfen. In diesen E-Mails waren auch Anzeichen fuer das Festplatten-Problem zu finden.&lt;br /&gt;
&lt;br /&gt;
Es kam natuerlich wie es kommen musste, die E-Mails kamen tagtaeglich, aber niemand hat sich darum gekuemmert.&lt;br /&gt;
&lt;br /&gt;
Was ist passiert? Die Nachrichten enthielten viel zu viel Zeug, das nicht interessant und nicht wichtig war. Und es zeigt, dass Administrationsaufgaben nicht nur Spass machen, manches ist nervtoetend und trotzdem noetig.&lt;br /&gt;
&lt;br /&gt;
In diesem Artikel wollte ich &quot;eigentlich&quot; darauf hinweisen, wie ich das Loghandling in den Griff bekommen habe und wie ich schnell und effizient Logs durchsuche und pro-aktiv Fehler finde. Um es kurz zu machen, so ist es nicht. Wenn jemand eine Loesung dafuer hat nur her damit.&lt;br /&gt;
&lt;br /&gt;
Bis dahin werden wir auf Fehler reagieren, die uns das Monitoring zeigt und Tag fuer Tag - wenn die Fehler weniger werden auch wieder weniger intensiv - uns durch die Logs wuehlen und (hoffentlich keine) Fehler finden.&lt;br /&gt;
&lt;br /&gt;
Wir freuen uns immer auf Eure Kommentare und in diesem Fall sind wir besonders interessiert, von Euch zu hoeren, wie Ihr mit Logdateien umgeht. 
    </content:encoded>

    <pubDate>Fri, 13 Jan 2012 09:00:00 +0100</pubDate>
    <guid isPermaLink="false">http://adminstories.de/index.php?/archives/121-guid.html</guid>
    <category>Werkzeugkasten</category>

</item>
<item>
    <title>Richtig mailen - Nachtrag</title>
    <link>http://adminstories.de/index.php?/archives/119-Richtig-mailen-Nachtrag.html</link>
            <category>Bewaehrtes</category>
    
    <comments>http://adminstories.de/index.php?/archives/119-Richtig-mailen-Nachtrag.html#comments</comments>
    <wfw:comment>http://adminstories.de/wfwcomment.php?cid=119</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://adminstories.de/rss.php?version=2.0&amp;type=comments&amp;cid=119</wfw:commentRss>
    

    <author>nospam@example.com (Ramon Kukla)</author>
    <content:encoded>
    Der letzte Freitagsartikel, &lt;a href=&quot;http://adminstories.de/index.php?url=archives/118-Richtig-mailen.html&quot; title=&quot;Richtig mailen  - adminstories&quot;&gt;Richtig mailen&lt;/a&gt;, hat doch ueberraschend viel Feedback generiert. Dafuer moechten wir uns schon einmal bedanken. In dem Zusammenhang sind noch einige Punkte angesprochen worden, die wir gerne ergaenzen moechten.&lt;br /&gt;
&lt;br /&gt;
Vorab vielleicht mal... Aus meiner Sicht ist der Grund, dass viele der &quot;alten&quot; Regeln fuer richtiges Mailen nicht mehr bekannt sind, das Aufkommen der damaligen Mailclients wie Outlook Express und Co. Die Hersteller der Mailclients wollten den Benutzern die Verwendung von Mail so leicht wie moeglich machen. Die Benutzer waren auch gewohnt, dass sie in ihrem Office Text fett drucken konnten, warum also nicht auch in einer Mail?&lt;br /&gt;
&lt;br /&gt;
TOFU&lt;br /&gt;
Das kritisierte TOFU kann in Firmen gewuenscht sein, damit spaeter hinzu kommende Mitleser leichter einsteigen koennen. Die gesammte Mailhistorie ist ja in einem Dokument zu finden. Allerdings hat man dann mit Effekten zu kaempfen, dass man im Laufe der Diskussion mehr und mehr Signaturen am Ende einsammelt. Das resultiert dann oft darin, dass nach zehn Runden ewig viele Zeilen &quot;Signaturmuell&quot; am Ende der Mail zu finden ist.&lt;br /&gt;
&lt;br /&gt;
Bilder&lt;br /&gt;
Eine Unart, die eher von Firmen zu Webezwecken, als zur internen Kommunikation genutzt wird. Text in Grafiken verpacken. Das sieht genau einmal toll aus. Und zwar dann, wenn man Absender ist und sich das ganze noch mal im Ordner &quot;Gesendet&quot; anschaut. Fuer alle anderen ist diese Art der Kommunikation ein Horror. Man kann auf solche Mails nicht ordentlich antworten, da es keinen zitierfaehigen Text gibt. Und so Dinge wie Text markieren, Kopieren und Einfuegen geht mit Grafik auch eher nicht.&lt;br /&gt;
&lt;br /&gt;
Verbieten von...&lt;br /&gt;
Mit Lotus Notes, auch Outlook (nicht ohne Grund sind die beiden Programme auf Platz 4 und Platz 6 bei &lt;a href=&quot;http://www.dreckstool.de/&quot; title=&quot;www.dreckstool.de&quot;&gt;dreckstool.de&lt;/a&gt;)?, gibt es die Moeglichkeit beim Versenden von Mails die Option das Kopieren oder Weiterleiten von Mails zu verbieten. Das ist, aus meiner Sicht, ganz schlechter Stil. Mir ist kein Szenario bekannt, in dem diese Option wirklich &lt;strong&gt;sinnvoll&lt;/strong&gt; einzusetzen waere. Des Weiteren ist es so, dass damit ja ohnehin nur ein Flag gesetzt wird ($KeepPrivate), dass der Empfaenger im Zweifel einfach anpasst. Und nach aussen hin funktioniert der Unsinn ohnehin nicht.&lt;br /&gt;
&lt;br /&gt;
Abschliessend noch zwei URLs, die im Zusammenhang mit &lt;a href=&quot;http://www.afaik.de/usenet/faq/zitieren/&quot; title=&quot;Wie zitiere ich im Usenet?&quot;&gt;korrektem Zitieren&lt;/a&gt; und der &lt;a href=&quot;http://www.kirchwitz.de/~amk/dni/netiquette&quot; title=&quot;&quot;&gt;Freundlichkeit&lt;/a&gt; beim Mailverkehr zu empfehlen sind. 
    </content:encoded>

    <pubDate>Tue, 10 Jan 2012 09:00:00 +0100</pubDate>
    <guid isPermaLink="false">http://adminstories.de/index.php?/archives/119-guid.html</guid>
    <category>Bewaehrtes</category>

</item>
<item>
    <title>KW 2012/01 - Fundstuecke</title>
    <link>http://adminstories.de/index.php?/archives/117-KW-201201-Fundstuecke.html</link>
            <category>Schnippsel</category>
    
    <comments>http://adminstories.de/index.php?/archives/117-KW-201201-Fundstuecke.html#comments</comments>
    <wfw:comment>http://adminstories.de/wfwcomment.php?cid=117</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://adminstories.de/rss.php?version=2.0&amp;type=comments&amp;cid=117</wfw:commentRss>
    

    <author>nospam@example.com (Ramon Kukla)</author>
    <content:encoded>
    &lt;strong&gt;Kalenderwoche 01, 02.01.2012-08.01.2012&lt;/strong&gt;&lt;br /&gt;
&lt;br /&gt;
Die Links hatten wir noch nicht? Kann ich gar nicht glauben!&lt;br /&gt;
&lt;br /&gt;
Etwas aelter, aber interessant zu lesen ist &quot;&lt;a href=&quot;http://www.cs.usfca.edu/~parrt/course/601/lectures/unix.util.html&quot; title=&quot;How To Look Like A UNIX Guru&quot;&gt;How To Look Like A UNIX Guru&lt;/a&gt;&quot;.&lt;br /&gt;
&lt;br /&gt;
Eine Uebersicht von Unterschieden (Befehle, Verzeichnisse, Konfigurationsorten, etc.) zwischen einzelnen Unixoiden Systemen gibt es sowohl &lt;a href=&quot;http://www.unixguide.net/cgi-bin/unixguide.cgi&quot; title=&quot;UNIXguide.net ( AIX, FreeBSD, HP-UX, LINUX, SOLARIS &amp;amp; Tru64)&quot;&gt;hier&lt;/a&gt;, als auch &lt;a href=&quot;http://bhami.com/rosetta.html&quot; title=&quot;Rosetta Stone for Unix&quot;&gt;hier&lt;/a&gt;. Beides sehr empfehlenswert!&lt;br /&gt;
&lt;br /&gt;
Ich (Dirk) habe schon mehrfach gesagt (aber vermutlich noch nicht hier geschrieben), dass ich von Webmin als Loesung zur Administration eines Servers nichts halte, dementsprechend weiss ich nicht, was ich von &lt;a href=&quot;http://www.debianadmin.com/submin-subversion-web-administration.html&quot; title=&quot;  Submin - Subversion Web Administration&quot;&gt;Submin - Subversion Web Administration&lt;/a&gt; zu halten habe. 
    </content:encoded>

    <pubDate>Mon, 09 Jan 2012 00:00:00 +0100</pubDate>
    <guid isPermaLink="false">http://adminstories.de/index.php?/archives/117-guid.html</guid>
    <category>Schnippsel</category>

</item>
<item>
    <title>Richtig mailen</title>
    <link>http://adminstories.de/index.php?/archives/118-Richtig-mailen.html</link>
            <category>Bewaehrtes</category>
    
    <comments>http://adminstories.de/index.php?/archives/118-Richtig-mailen.html#comments</comments>
    <wfw:comment>http://adminstories.de/wfwcomment.php?cid=118</wfw:comment>

    <slash:comments>13</slash:comments>
    <wfw:commentRss>http://adminstories.de/rss.php?version=2.0&amp;type=comments&amp;cid=118</wfw:commentRss>
    

    <author>nospam@example.com (Ramon Kukla)</author>
    <content:encoded>
    Heute mal ein Thema, dass nicht ausschliesslich fuer Administratoren interessant ist. Es geht um Mails. Also nicht um technische Details, sondern wie man Mails &quot;richtig&quot; schreibt. Ein ganzer Haufen interessanter Punkte, die man beachten sollte, will mal aufgelistet werden.&lt;br /&gt;
&lt;br /&gt;
&amp;bull; Betreff&lt;br /&gt;
Der Betreff ist dann korrekt, wenn Anhand dessen schon erkennbar ist, um was es in der nachfolgenden Mail geht. Also bei der Frage zu einer Rechnung vielleicht &quot;Rechnungsanfrage&quot; oder &quot;Frage zu Rechnung&quot;. Der Betreff ist der falsche Ort fuer die eigentliche Mail. Auch wenn der folgende Mailtext nur eine kurze Zeile wie &quot;Starte die Server dev-01 bis dev-09 neu&quot; beinhaltet, sollte er auch in der Mail zu finden sein. In diesem Beispiel mache ich es beispielsweise auch mal so, dass ich den Text sowohl in den Betreff, als auch in den Mailbody packe. Tatsaechlich weiche ich manchmal aber auch von der Regel ab. Das aber nur bei Leuten die mich kennen uns wissen, dass eine Mail mit dem Betreff &quot;Schreibrechtsfehler&quot; keinen wichtigen, bzw. lebenswichtigen Inhalt hat.&lt;br /&gt;
&lt;br /&gt;
Auch sollte man schauen, ob sich nach laengerem Mailverkehr nicht bereits eine &quot;Re: AW: Re: AW:&quot;-Kette im Betreff aufgebaut hat. Die kann man ruhig bereingen. Das &quot;Re:&quot;, bzw. &quot;AW:&quot; bedeutet Antwort. Das muss da nicht mehrfach drin stehen.&lt;br /&gt;
&lt;br /&gt;
Das kommt eher selten vor, aber auch da sollte man dran denken. Wenn man beispielsweise eine Mail aus einer Mailingliste weiterleitet und sich in dem Zusammenhang etwas am Inhalt aendert, sollte man den Betreff anpassen. Beispielsweise &quot;Noch mal Detailfrage zum Ablauf (was: Offene Punkte fuer Projekt)&quot;.&lt;br /&gt;
&lt;br /&gt;
&amp;bull; An, Kopie, Blindkopie&lt;br /&gt;
Moegliche Empfaenger einer Mail koennen in eines von drei Feldern eingetragen werden. Das &quot;An&quot;-, &quot;Kopie&quot;- und &quot;Blindkopie&quot;-Feld. In das &quot;An&quot;-Feld kommt die Person, oder der Personenkreis, der mit der Mail explizit angesprochen wird. In das Feld &quot;Kopie&quot; kommen die Adressaten, die die Mail in Kopie und somit nur zur Information mitbekommen. Moechte ich also meinen Kollegen fragen, ob er den Tagesdienst fuer mich am Montag uebernehmen kann, packe ich ihn in das &quot;An&quot;-Feld und mein Teamleiter bekommt die Kopie der Mail, da er unsere Einsatzplaene erstellt. Das Feld &quot;Blindkopie&quot; ist ein sehr interessantes Feld. In dieses trage ich Adressaten ein, die bei den Empfaengern, die im &quot;An&quot;- und &quot;Kopie&quot;-Feld stehen, nicht angezeigt werden. Es sieht also niemand, dass ich den Kollege XY in Blindkopie hatte. Als wir unser ersten Kind bekommen hatten habe ich alle Empfaenger, die sich zum Teil auch untereinander nicht kennen, in Blindkopie genommen und die eigentliche Mail dann an meine Frau geschickt.&lt;br /&gt;
&lt;br /&gt;
Bitte aber auch drauf achten, dass es schlechter Stil ist Leute waehrend einer laufenden Diksussion auf Blindkopie zu setzen. &lt;br /&gt;
&lt;br /&gt;
&amp;bull; Verteiler&lt;br /&gt;
Bitte immer nur die Leute mit in die Empfaengerliste mit aufnehmen, die die Mail auch sinnvollerweise erhalten sollten. Ein zu grosser Verteiler kann schnell zu einem Eigentor werden. Mir ist da beispielsweise ein Fall bekannt, in dem die Weihnachtsmail eines Werksleiters von einem Mitarbeiter mit etwas wie &quot;Ebenso. Sowie Guten Rutsch und Penisbruch&quot; beantwortet wurde. Dabei hat der Mitarbeiter den Verteiler auf quasi &quot;alle&quot; belassen. Das war natuerlich ungeschickt, da der Werksleiter irgendwie reagieren musste. &lt;br /&gt;
&lt;br /&gt;
&amp;bull; HTML&lt;br /&gt;
Da gibt es ja verschiedene Meinungen zu. Aus meiner Sicht hat HTML in Mail nichts verloren. Plain-Text in Mail ist der kleinste gemeinsamer Nennen. Den &quot;sprechen&quot; alle Mailclients. HTML zu verwenden ist, als wuerde man aus allen Autobahnen Offroad-Strecken fuer schwere Jeeps machen. Ja, die Strasse kann ich zur Not auch mit meinem Familien-Van befahren. Aber toll ist es nicht. Und wenn ich das falsche Fahrzeug habe, dann habe ich gleich verloren. Sprich, HTML-Mails werden nicht immer ueberall korrekt oder ueberhaupt angezeigt. Unabhaengig davon blaeht HTML die Mail unnoetig auf. Aktuelles Beispiel ist bei mir eine Rechnung. Da faengt der eigentliche Text der Mail in Zeile 236(!) an und die Mail hat 1077 Zeilen. Dabei hat die Mail eine Groesse von knapp ueber 40 KB. Der eigentlich Mailtext, was man mit also mitteilen moechte, umfasst dabei laecherliche 79 Woerter.&lt;br /&gt;
&lt;br /&gt;
&amp;bull; Rechtschreibung&lt;br /&gt;
Ich bin nicht perfekt wenn es um die Rechtschreibung geht. Egal ob Deutsch oder Englisch. Aber eine Mail, in der alle Naselang ein falsch geschriebenes Wort zu finden ist, in der Kommazeichen und Punkte fehlen und vielleicht ergaenzend noch auf Gross- Kleinschreibung verzichtet wird, ist eine Zumutung. Hinzu kommt, dass mir eine solche Mail signalisiert, dass der Absender sich keine Muehe geben wollte und mir nun die Aufgabe zukommen laesst, mir aus dem Wortschrott die korrekte Bedeutung zu suchen.&lt;br /&gt;
&lt;br /&gt;
Obwohl Mail elektronische Kommunikation ist, heisst es nicht, dass man da alle kommunikativen Gepflogenheiten, die man (hoffentlich) aus dem &quot;wirklichen&quot; Leben kennt, sausen lassen kann. &lt;br /&gt;
&lt;br /&gt;
&amp;bull; Richtig zitieren&lt;br /&gt;
Das ist ein recht umfangreiches Thema. Das komplett zu beschreiben wuerde den Artikel sprengen. Daher vielleicht das wichtigste. Es wird nur zitiert was wichtig ist, bzw. der Teil, auf den man sich in seiner Antwort bezieht. Das macht es vor allem bei laengerem Mailverkehr das lesen leichter und die Mails auch uebersichtlicher.&lt;br /&gt;
&lt;br /&gt;
&amp;bull; TOFU&lt;br /&gt;
In obigen Zusammenhang passt auch ein wenig TOFU. Damit ist Text Oben, Full-Quote Unten gemeint. Also im Grunde das, was wir alle aus dem &quot;Business&quot; kennen, weil die Leute es oft auch nicht besser wissen. Leider wird das aber oft auch durch fehlerhaft eingestelle Mailclients &quot;vorgelebt&quot;. Somit passiert es dann schon mal, dass eine umfangreiche Erklaerung zu einer moeglichen Entscheidung spaeter komplett zurueck kommt. Nur mit dem Unterschied, dass der &quot;Entscheider&quot; oben dann seine Entscheidung (Ja/Nein) eingetragen hat.&lt;br /&gt;
&lt;br /&gt;
&amp;bull; Signatur&lt;br /&gt;
Auch beliebt... Die Signatur und deren Laenge. Im beruflichen Umfeld ist es manchmal was mehr als die damals im Usenet oft genannten vier Zeilen. Wenn ich aber eine Mail bekomme, in der die Signatur 17 Zeilen lang ist (schon erlebt), dann ist das doch zu viel. Im privaten Umfeld kann man sich auf Dinge wie die Adresse des eigenen Blog oder was anderes beschraenken. Die Mailadresse macht in der Regel kein Sinn. Die steht ja schon im Absender. Im geschaeftlichen Umfeld ist, aus meiner Sicht, eine Signatur mit mindestens der Rufnummer des Absenders Pflicht. Ich habe schon mehrfach Mails erhalten, wo immer nur mit &quot;Gruss, Hein&quot; unterschrieben wurde. Und wenn man da beispielsweise mal eben wegen eines Angebotes mal nachfragen moechte, dann sind fehlende Angaben bloed.&lt;br /&gt;
&lt;br /&gt;
Was ich vergessen hatte und wo Seraphyn in den &lt;a href=&quot;http://adminstories.de/index.php?/archives/118-Richtig-mailen.html#c240&quot; title=&quot;http://adminstories.de/index.php?/archives/118-Richtig-mailen.html#c240&quot;&gt;Kommentare&lt;/a&gt; drauf hinweis. Eine Signatur faengt mit &quot;-- &quot; (Minux, Minux, Leerzeichen) an, damit diese beim Beantworten der Mail gleich automatisch entfernt wird.&lt;br /&gt;
&lt;br /&gt;
&amp;bull; Anhaenge&lt;br /&gt;
Bei der Verwendung von Anhaengen sollte man sich drei Fragen stellen. Muss der Anhang sein? Ist der Anhang in der Groesse angemessen und kann der Empfaenger den Anhang oeffnen? Bei Grafiken kann man sich beispielsweise fuer das schicke alte Format IFF entscheiden, weil man es nostalgisch mag. Aber oeffnen wird die Grafik heute kaum noch jemand koennen. Auch der Versand von Office-Dokumenten ist nicht immer optimal. Mal unabhaengig davon, dass in dem Dokument, neben dem was ich geschrieben habe, noch andere interessante Informationen zu finden sein koennen. Wenn man nicht sicher ist, auf der Gegenseite einfach mal nachfrage. Es ist schon frustrierend, wenn man ein Dokument erhaelt, dass mit Word 2010 erstellt wurde um man kann es mit seinem Office XP nicht oeffnen.&lt;br /&gt;
&lt;br /&gt;
Als Ergaenzung vielleicht noch. Es ist generell kein guter Stil private Mails, ohne die Erlaubnis des urspruenglichen Absenders, an einen Dritten weiter zu leiten. Des Weiteren sollte man immer dran denken, dass auf der &quot;anderen Seite&quot; in der Regel auch nur ein Mensch sitzt. Man sollte sich also entsprechend verhalten. Dem unbeliebten Kollegen in der Kantine in der Schlange an der Kasse mal eben ein &quot;Du Spinner&quot; an den Kopf zu werfen ist nicht nett, aber, wenn man es leise macht, oft nicht nachweisbar. Per Mail hat das alles gleich einen ganze anderen Character.&lt;br /&gt;
&lt;br /&gt;
Hierzu noch eine kleine, wahre, abschliessende Geschichte. Es gab da den Mitarbeiter Schmitz. Wenn er Mails geschrieben hat, dann war das keine Freude die zu lesen, weil er immer recht pampig und unverschaemt wurde. Irgendwann hat sich Herr Schmitz gewundert, dass er von Herr Mayer nie eine Antwort auf seine Fragen bekommen hat. Also ist Herr Schmitz ins Buero von Herr Mayer und hat gefragt, wie das denn bitte sein kann! Da hat Herr Mayer Herr Schmitz gebeten doch mal naeher zu kommen. Er hat sein Regelwerk im Mailclient geoeffnet und Herr Schmitz seine erste Regel gezeigt. Die sah wie folgt aus: &quot;Alle Mails von Herr Schmitz ungelesen in den Papierkorb&quot;. &lt;br /&gt;
&lt;br /&gt;
Und warum? Weil Herr Schmitz sich nicht an eine wichtige Regel gehalten hat. Denk immer dran, dass dir gegenueber ein Mensch sitzt. Sei also erst einmal freundlich!&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;Nachtrag:&lt;/strong&gt;&lt;br /&gt;
Robert Kraus weist &lt;a href=&quot;https://plus.google.com/u/0/b/101462895435327260956/101462895435327260956/posts/LoCb8SRdKzM&quot; title=&quot;Moved Temporarily&quot;&gt;auf Google+&lt;/a&gt; zu Recht auf nachfolgendes hin: Zu dem Abschnitt &#039;Signatur&#039; lohnt vielleicht noch der Hinweis, dass es in Deutschland bei geschaeftlichen Emails Pflichtangaben gibt, die man nicht vergessen sollte. Andernfalls drohen, man ahnt es bereits, Abmahnungen. Heise hat da einen passenden Artikel dazu: &lt;a href=&quot;http://www.heise.de/resale/artikel/Abmahnsichere-Geschaefts-E-Mail-274204.html&quot; title=&quot;http://www.heise.de/resale/artikel/Abmahnsichere-Geschaefts-E-Mail-274204.html&quot;&gt;http://www.heise.de/resale/artikel/Abmahnsichere-Geschaefts-E-Mail-274204.html&lt;/a&gt; 
    </content:encoded>

    <pubDate>Fri, 06 Jan 2012 09:00:00 +0100</pubDate>
    <guid isPermaLink="false">http://adminstories.de/index.php?/archives/118-guid.html</guid>
    <category>Bewaehrtes</category>

</item>
<item>
    <title>KW 2011/52 - Fundstuecke</title>
    <link>http://adminstories.de/index.php?/archives/114-KW-201152-Fundstuecke.html</link>
            <category>Schnippsel</category>
    
    <comments>http://adminstories.de/index.php?/archives/114-KW-201152-Fundstuecke.html#comments</comments>
    <wfw:comment>http://adminstories.de/wfwcomment.php?cid=114</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://adminstories.de/rss.php?version=2.0&amp;type=comments&amp;cid=114</wfw:commentRss>
    

    <author>nospam@example.com (Dirk Deimeke)</author>
    <content:encoded>
    &lt;strong&gt;Kalenderwoche 52, 26.12.2011-01.01.2012&lt;/strong&gt;&lt;br /&gt;
&lt;br /&gt;
Sehr guter Artikel ueber Zusammenarbeit in der Systemadministration, welche Stolpersteine gibt es und wie kann man damit umgehen? - &lt;a href=&quot;http://queue.acm.org/detail.cfm?id=1898149&quot; title=&quot;Collaboration in System Administration - ACM Queue&quot;&gt;Collaboration in System Administration&lt;/a&gt; 
    </content:encoded>

    <pubDate>Mon, 02 Jan 2012 00:00:00 +0100</pubDate>
    <guid isPermaLink="false">http://adminstories.de/index.php?/archives/114-guid.html</guid>
    <category>Schnippsel</category>

</item>
<item>
    <title>Auf ein neues Jahr</title>
    <link>http://adminstories.de/index.php?/archives/115-Auf-ein-neues-Jahr.html</link>
            <category>adminstories.de</category>
    
    <comments>http://adminstories.de/index.php?/archives/115-Auf-ein-neues-Jahr.html#comments</comments>
    <wfw:comment>http://adminstories.de/wfwcomment.php?cid=115</wfw:comment>

    <slash:comments>4</slash:comments>
    <wfw:commentRss>http://adminstories.de/rss.php?version=2.0&amp;type=comments&amp;cid=115</wfw:commentRss>
    

    <author>nospam@example.com (Ramon Kukla)</author>
    <content:encoded>
    Da ist es herum das erste Jahr...&lt;br /&gt;
&lt;br /&gt;
Angefangen haben wir am 01.01.2011 mit dem Artikel &quot;&lt;a href=&quot;http://adminstories.de/index.php?/archives/1-Und-noch-ein-Blog.html&quot; title=&quot;Und noch ein Blog  - adminstories&quot;&gt;Und noch ein Blog&lt;/a&gt;&quot;. Wir hatten uns das Ziel gesetzt, jede Woche mindestens einen Artikel zu publizieren, was uns auch gelungen ist. Dabei haben wir versucht einen bunten Themenmix zu praesentieren. Eine Mischung, wie sie auch im klassischen Arbeitsumfeld des Administrators zu finden ist. Also was ueber Netzwerk, Scripting, etwas Programmierung, Debugging, Management und &quot;Business-Kram&quot;. Eine Uebersicht aller Artikel ist uebrigens immer ueber die &lt;a href=&quot;http://adminstories.de/index.php?/pages/artikeluebersicht.html&quot; title=&quot;&quot;&gt;Artikeluebersicht&lt;/a&gt; zu bekommen.&lt;br /&gt;
&lt;br /&gt;
Ende April haben wir dann unsere Artikelserie um die &lt;a href=&quot;http://adminstories.de/index.php?/plugin/tag/Schnippsel&quot; title=&quot;adminstories  - Artikel mit Tag Schnippsel&quot;&gt;Fundstuecke&lt;/a&gt; ergaenzt. Uns waren immer wieder kleinere Tipps, Ideen und Webseiten untergekommen, die fuer einen Artikel nicht genug Futter geboten hatten, aber einfach zu interessant waren, um sie unter den Tisch fallen zu lassen.&lt;br /&gt;
&lt;br /&gt;
Ende August haben wir dann einen weiteren Schritt vollzogen. Wir haben das Blog von Dotclear nach Serenditpiy migriert. Wir waren nicht unzufrieden mit Dotclear. Aber wir beide haben einfach mehr Erfahrung mit Serendipity, so dass wir uns fuer diesen Schritt entschieden haben.&lt;br /&gt;
&lt;br /&gt;
Alles in allem sind im Jahr 2011 etwas mehr als 100 Beitraege enstanden. Mit diesen haben wir etwas ueber 170 Kommentare ernten koennen. Im Moment haben wir in der Woche zwischen 200 bis 300 Besucher. Das ist schon solide, laesst aber vor allem aber auch noch Luft nach oben :-) Wobei uns klar ist, dass wir bei der doch relativ geringen Artikelfrequenz und der teilweise doch sehr technischen Beitraege kaum, sagen wir mal, Mainstreamkompatibel sein werden.&lt;br /&gt;
&lt;br /&gt;
Unterm Strich sind wir mit der Entwicklung bis hierher zufrieden. Aber natuerlich moechten wir auch nicht still stehen. Wir moechten uns weiter entwickeln. Daher haben wir fuer das Jahr 2012 einige Plaene. Neben dem grossen Plan, die Weltherrschaft an uns zu reissen, haben wir noch ein paar kleinere Ideen in der Schublade.&lt;br /&gt;
&lt;br /&gt;
So planen wir in naher Zukunft eine Artikelreihe, in der wir Personen aus dem IT-Umfeld vorstellen moechte, die in der Regel im &quot;Hintergrund&quot; zu finden sind. Des Weiteren liebaeugeln wir mit einem regelmaessigen Podcast und dem Publizieren von Gastbeitraegen. Natuerlich moechten wir dabei die bestehenden Artikelreihen weiter laufen lassen.&lt;br /&gt;
&lt;br /&gt;
Wie Anfang 2011 moechten wir auch heute aufrufen sich zu beteiligen. Jeder ist eingeladen, uns Artikel oder auch Artikelideen zu schicken. Wir schauen dann, inwieweit das passt und eingebaut werden kann. Im &lt;a href=&quot;http://adminstories.de/index.php?/pages/Impressum.html&quot; title=&quot;&quot;&gt;Impressum&lt;/a&gt; findet ihr entsprechende Kontaktmoeglichkeiten.&lt;br /&gt;
&lt;br /&gt;
Auf ein neues, schoenes und interessantes Jahr. 
    </content:encoded>

    <pubDate>Sun, 01 Jan 2012 00:00:00 +0100</pubDate>
    <guid isPermaLink="false">http://adminstories.de/index.php?/archives/115-guid.html</guid>
    <category>adminstories.de</category>

</item>
<item>
    <title>Sysstat</title>
    <link>http://adminstories.de/index.php?/archives/116-Sysstat.html</link>
            <category>Werkzeugkasten</category>
    
    <comments>http://adminstories.de/index.php?/archives/116-Sysstat.html#comments</comments>
    <wfw:comment>http://adminstories.de/wfwcomment.php?cid=116</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://adminstories.de/rss.php?version=2.0&amp;type=comments&amp;cid=116</wfw:commentRss>
    

    <author>nospam@example.com (Dirk Deimeke)</author>
    <content:encoded>
    Monitoring ist eine der Kernaufgaben in der Administration. Warum und wie viel man ueberwachen sollte, ist in dem - meiner Meinung nach - besten Artikel zum Thema beschrieben: &lt;a href=&quot;http://morgajel.net/2010/06/30/755&quot; title=&quot;The Philosophy of Monitoring | Morgajel.net&quot;&gt;The Philosophy of Monitoring&lt;/a&gt;. Wir werden das sicherlich hier auch noch einmal ausfuehrlich thematisieren.&lt;br /&gt;
&lt;br /&gt;
Es gibt eine grosse Menge an Open Source Monitoring-Loesungen, die verschiedene Anwendungszwecke abdecken. Nur um einmal ein paar Namen zu nennen, fuehre ich hier &lt;a href=&quot;http://www.cacti.net/&quot; title=&quot;Cacti&amp;reg; - The Complete RRDTool-based Graphing Solution&quot;&gt;Cacti&lt;/a&gt;, &lt;a href=&quot;http://munin-monitoring.org/&quot; title=&quot;Munin - Trac&quot;&gt;&lt;strong&gt;Munin&lt;/strong&gt;&lt;/a&gt;, &lt;a href=&quot;http://nagios.org/&quot; title=&quot;Nagios  -  The Industry Standard in IT Infrastructure Monitoring&quot;&gt;Nagios&lt;/a&gt;, &lt;a href=&quot;http://www.icinga.org/&quot; title=&quot;Home - Icinga: Open Source Monitoring&quot;&gt;&lt;strong&gt;Icinga&lt;/strong&gt;&lt;/a&gt;, &lt;a href=&quot;http://www.zabbix.com/&quot; title=&quot;Homepage of Zabbix :: An Enterprise-Class Open Source Distributed Monitoring Solution&quot;&gt;Zabbix&lt;/a&gt;, &lt;a href=&quot;http://oss.oetiker.ch/smokeping/&quot; title=&quot;SmokePing - About SmokePing&quot;&gt;&lt;strong&gt;Smokeping&lt;/strong&gt;&lt;/a&gt;, Centreon und viele andere mehr (die fett gedruckten setzen Ramon und ich fuer unsere Server ein).&lt;br /&gt;
&lt;br /&gt;
In die gleiche Richtung, wenn auch nicht ganz, stossen die &lt;a href=&quot;http://sebastien.godard.pagesperso-orange.fr/&quot; title=&quot;SYSSTAT&quot;&gt;SYSSTAT-Utilities&lt;/a&gt;. Die Utilities gibt es für nahezu jedes Unix-artige Betriebssystem und sind vermutlich bei allen Linux-Systemen in den Standard-Paketquellen enthalten. Es gibt einen &lt;a href=&quot;http://www.linux-magazin.de/Heft-Abo/Ausgaben/2008/09/Prozess-auf-Takt?category=0&quot; title=&quot;Sar, Pidstat &amp;amp; Co.: Das Sysstat-Paket &amp;#171; 09 &amp;#171; 2008 &amp;#171; Ausgaben &amp;#171; Heft &amp;amp; Abo &amp;#171;  Linux-Magazin Online &quot;&gt;guten Übersichtsartikel zu Sysstat&lt;/a&gt; im Linux-Magazin.&lt;br /&gt;
&lt;br /&gt;
&lt;!-- s9ymdb:18 --&gt;&lt;img class=&quot;serendipity_image_center&quot; width=&quot;560&quot; height=&quot;420&quot; src=&quot;http://adminstories.de/uploads/foo_LinuxloadSar.png&quot; alt=&quot;&quot;  /&gt;&lt;br /&gt;
&lt;br /&gt;
Fuer mich besonders wichtig ist das &quot;System Activity Reporting&quot;, bei Sysstat uebernimmt die Aufgabe das Programm &lt;code&gt;sar&lt;/code&gt;. Es bereitet die Daten, die durch den &quot;System Activity Data Collector&quot; (&lt;code&gt;sadc&lt;/code&gt;) gesammelten Daten für Menschen lesbar auf. Der Datensammler &lt;code&gt;sadc&lt;/code&gt; liest eine &quot;lange&quot; Reihe von aktuellen Systemwerten aus dem virtuellen &lt;a href=&quot;https://secure.wikimedia.org/wikipedia/de/wiki/Procfs&quot; title=&quot;&quot;&gt;proc&lt;/a&gt;-Dateisystem und schreibt sie in eine Binaerdatei. Da das nur sehr wenig Last erzeugt (nahezu gar keine), gibt es keinen Grund, den Datensammler nicht auf jedem installierten Linux oder Unix mitlaufen zu lassen. Die gesammelten Werte sind bei der Fehleranalyse oder der nachtraeglichen Untersuchung von Performance-Problemen enorm hilfreich.&lt;br /&gt;
&lt;br /&gt;
Doch jetzt einmal &quot;Schritt fuer Schritt&quot;.&lt;br /&gt;
&lt;br /&gt;
Installiert wird Sysstat ueber das Paketmanagement oder man uebersetzt es sich durch den &quot;klassischen Dreisatz&quot; - &lt;code&gt;./configure ; make ; make install&lt;/code&gt; - selber.&lt;br /&gt;
&lt;br /&gt;
Unter Debian-Systemen (und Ubuntu) muss in der Datei &lt;code&gt;/etc/default/sysstat&lt;/code&gt; der Parameter &lt;code&gt;ENABLED&lt;/code&gt; auf &lt;code&gt;true&lt;/code&gt; gesetzt werden, sonst werden die Daten nicht gesammelt.&lt;br /&gt;
&lt;br /&gt;
Die Datensammlung selber passiert via &lt;code&gt;cron&lt;/code&gt;. In der Datei &lt;code&gt;/etc/cron.d/sysstat&lt;/code&gt; finden sich die folgenden Zeilen:&lt;div class=&quot;bash geshi&quot; style=&quot;text-align: left&quot;&gt;&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;# The first element of the path is a directory where the debian-sa1&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;# script is located&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #007800;&quot;&gt;PATH&lt;/span&gt;=&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;usr&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;lib&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;sysstat:&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;usr&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;sbin:&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;usr&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;sbin:&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;usr&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;bin:&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;sbin:&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;bin&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;# Activity reports every 10 minutes everyday&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt;5&lt;/span&gt;-&lt;span style=&quot;color: #000000;&quot;&gt;55&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;10&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;*&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;*&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;*&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;*&lt;/span&gt; root &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;command&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-v&lt;/span&gt; debian-sa1 &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;dev&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;null &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt; debian-sa1 &lt;span style=&quot;color: #000000;&quot;&gt;1&lt;/span&gt; &lt;span style=&quot;color: #000000;&quot;&gt;1&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;# Additional run at 23:59 to rotate the statistics file&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt;59&lt;/span&gt; &lt;span style=&quot;color: #000000;&quot;&gt;23&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;*&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;*&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;*&lt;/span&gt; root &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;command&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-v&lt;/span&gt; debian-sa1 &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;dev&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;null &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt; debian-sa1 &lt;span style=&quot;color: #000000;&quot;&gt;60&lt;/span&gt; &lt;span style=&quot;color: #000000;&quot;&gt;2&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
Dass &lt;code&gt;debian-sa1&lt;/code&gt; benutzt wird, ist eine Besonderheit von Debian, ansonsten heisst das Programm einfach &lt;code&gt;sa1&lt;/code&gt;.&lt;br /&gt;
&lt;br /&gt;
Der erste Cron-Eintrag sorgt dafuer, dass alle 10 Minuten ein Satz von Werten aufgezeichet wird. Das reicht, um einen Ueberblick ueber das System zu haben. Wenn man eine hoehere Aufloesung moechte, ist das zu aendern.&lt;br /&gt;
&lt;br /&gt;
Der zweite Eintrag rotiert die Logdateien, bei Debian liegen sie unter &lt;code&gt;/var/log/sysstat&lt;/code&gt;.&lt;br /&gt;
&lt;br /&gt;
Welche Werte alle aufgezeichnet werden, zeigt ein &lt;code&gt;sar -A&lt;/code&gt;, fuer einen Ueberblick, empfehle ich aber das Java-Programm &lt;a href=&quot;http://sourceforge.net/projects/ksar/&quot; title=&quot;ksar : a sar grapher | Free System Administration software downloads at SourceForge.net&quot;&gt;kSar&lt;/a&gt;, das die Daten grafisch aufbereitet. Das oben im Artikel angezeigte Bild ist damit entstanden. Den kompletten Report fuer den gestrigen Tag von unserem Webserver findet Ihr in der PDF-Datei &lt;a href=&quot;http://adminstories.de/uploads/bar.pdf&quot; title=&quot;bar.pdf&quot;&gt;bar.pdf&lt;/a&gt; (3.5 MB). 
    </content:encoded>

    <pubDate>Fri, 30 Dec 2011 09:00:00 +0100</pubDate>
    <guid isPermaLink="false">http://adminstories.de/index.php?/archives/116-guid.html</guid>
    <category>Werkzeugkasten</category>

</item>
<item>
    <title>KW 2011/51 - Fundstuecke</title>
    <link>http://adminstories.de/index.php?/archives/113-KW-201151-Fundstuecke.html</link>
            <category>Schnippsel</category>
    
    <comments>http://adminstories.de/index.php?/archives/113-KW-201151-Fundstuecke.html#comments</comments>
    <wfw:comment>http://adminstories.de/wfwcomment.php?cid=113</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://adminstories.de/rss.php?version=2.0&amp;type=comments&amp;cid=113</wfw:commentRss>
    

    <author>nospam@example.com (Dirk Deimeke)</author>
    <content:encoded>
    &lt;strong&gt;Kalenderwoche 51, 19.-25.12.2011&lt;/strong&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://www.cyberciti.biz/tips/linux-unix-xsnow.html&quot; title=&quot; Linux / UNIX Desktop Fun: Let it Snow On Your Desktop&quot;&gt;Let it Snow On Your Desktop&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://www.ibm.com/developerworks/linux/library/l-lpic3-315-3/index.html?ca=drs-&quot; title=&quot;Learn Linux, 302 (Mixed environments): Performance tuning&quot;&gt;Learn Linux, 302 (Mixed environments): Performance tuning&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://www.catswhocode.com/blog/100-vim-commands-every-programmer-should-know&quot; title=&quot;100 Vim commands every programmer should know |  CatsWhoCode.com&quot;&gt;100 Vim commands every programmer should know&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://www.cyberciti.biz/tips/linux-unix-bsd-documentations.html&quot; title=&quot; 30 Best Sources For Linux / *BSD / Unix Documentation On the Web&quot;&gt;30 Best Sources For Linux / *BSD / Unix Documentation On the Web&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://www.linux.com/news/featured-blogs/196:zonker/524082:the-10-most-important-open-source-projects-of-2011&quot; title=&quot;The 10 Most Important Open Source Projects of 2011 | Linux.com&quot;&gt;The 10 Most Important Open Source Projects of 2011&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://blog.grimneko.de/?p=185&quot; title=&quot;A bunch of tips for improving your postfix setup | Grimneko&amp;#039;s blogging space&quot;&gt;A bunch of tips for improving your postfix setup&lt;/a&gt; 
    </content:encoded>

    <pubDate>Mon, 26 Dec 2011 00:00:00 +0100</pubDate>
    <guid isPermaLink="false">http://adminstories.de/index.php?/archives/113-guid.html</guid>
    <category>Schnippsel</category>

</item>
<item>
    <title>Verfuegbarkeit</title>
    <link>http://adminstories.de/index.php?/archives/112-Verfuegbarkeit.html</link>
            <category>Eingestreut</category>
    
    <comments>http://adminstories.de/index.php?/archives/112-Verfuegbarkeit.html#comments</comments>
    <wfw:comment>http://adminstories.de/wfwcomment.php?cid=112</wfw:comment>

    <slash:comments>2</slash:comments>
    <wfw:commentRss>http://adminstories.de/rss.php?version=2.0&amp;type=comments&amp;cid=112</wfw:commentRss>
    

    <author>nospam@example.com (Dirk Deimeke)</author>
    <content:encoded>
    Was haben eigentlich die vielen Neunen (&quot;9&quot;) zu bedeuten?&lt;br /&gt;
&lt;br /&gt;
Die Neunen geben die Verfuebarkeit eines (definierten) Computer-Systems im Rahmen eines &lt;a href=&quot;https://de.wikipedia.org/wiki/Service-Level-Agreement&quot; title=&quot;Service-Level-Agreement – Wikipedia&quot;&gt;Service-Level-Agreements&lt;/a&gt; (SLA) in Prozent an. Den deutschen Begriff Dienstguetevereinbarung (DGV) habe ich im verlinkten Wikipedia-Artikel zum ersten Mal gelesen. Sagt man, dass ein System fuenf Neunen hat, ist damit gemeint, dass es zu 99.999% verfuegbar ist. Die Anzahl der Neunen bestimmt dabei die &lt;a href=&quot;https://secure.wikimedia.org/wikipedia/de/wiki/Hochverf%C3%BCgbarkeit#Hochverf.C3.BCgbarkeit_und_Verf.C3.BCgbarkeitsklassen&quot; title=&quot;&quot;&gt;Verfuegbarkeitsklasse&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
Allerdings gibt es bei der Berechnung der Verfuegbarkeit Stolpersteine, die beruecksichtigt werden muessen. Ich greife nur einige wenige heraus.&lt;br /&gt;
&lt;br /&gt;
Geplante Wartungsfenster zaehlen im Normalfall nicht zur Verfuegbarkeit. Natuerlich kann man vertraglich anderes vereinbaren oder den Wartungsvertrag beliebig teuer machen. Wer nur minimale Ausfaelle auch bei Wartungsaufgaben haben moechte, muss entsprechend viel Hardware kaufen, um auch die geplante Nicht-Verfuegbarkeit einzelner Komponenten (wegen Upgrades beispielsweise) abzudecken.&lt;br /&gt;
&lt;br /&gt;
Die Definition des Systems fuer die die Vereinbarung gilt, ist sehr wichtig. Man kann sich leicht vorstellen, dass &quot;laeuft&quot; eine schlechte Definition ist. Was waere ein Server ohne Netzwerkverbindung? Oder man nimmt die Verfuegbarkeit eines Arbeitsplatzes. Es ist denkbar, dass es relativ (!) leicht ist, eine hohe Verfuegbarkeit des Client-Betriebssystems werktags in der Zeit von 07:00-18:00 Uhr zu vereinbaren. Wenn ein Rechner ausfaellt, stellt man &quot;einfach&quot; einen Ersatzrechner auf, vorausgesetzt, dass die Einstellungen auf Servern liegen. Aber zu einem Arbeitsplatz gehoert viel mehr, wie beispielsweise das Mailprogramm, der Zugriff auf Datenbanken und auf andere Software, mit der die Arbeit erledigt wird. Vielleicht sogar die Verbindung zum Internet. Immer, wenn eine Komponente nicht zugreifbar ist, laeuft die Zeit und knabbert an den Neunen. Im schlimmsten Fall oder eher im Normalfall fallen Systeme selten gleichzeitig aus.&lt;br /&gt;
&lt;br /&gt;
Im Normalfall gibt es Vereinbarungen für verschiedene Bereiche, die sich auch deutlich voneinander unterscheiden koennen. Eine &quot;nahezu hundertprozentige&quot; Verfuegbarkeit des Netzwerkes wird ja schon fast vorausgesetzt. Was aber, wenn die Bits nur einzeln durch das Netz purzeln? Dann muss auch noch die Dienstequalitaet vereinbart werden (das ist aber hier nicht Bestandteil).&lt;br /&gt;
&lt;br /&gt;
Ein Jahr im gregorianischen Kalender hat 365,2425 Tage = 365 Tage, 5 Stunden, 49 Minuten, 12 Sekunden = 31.556.952 Sekunden - um die krumme Zahl auszugleichen, haben wir Schaltjahre. Ein &quot;normales Jahr&quot; hat 365 Tage und somit 31536000 Sekunden, gebraeuchlich ist auch, ein Jahr auf 360 Tage oder 31104000 Sekunden zu reduzieren.&lt;br /&gt;
&lt;br /&gt;
Wenn man in einem &quot;normalen Jahr&quot; Verfuegbarkeiten definieren moechte und die Systeme sollen rund um die Uhr laufen, dann duerfen die Systeme maximal die folgenden Ausfallzeiten pro Jahr haben.&lt;br /&gt;
&lt;br /&gt;
Verfuegbarkeit 90% ~ Maximaler Ausfall von 3153600 Sekunden ~ 36 Tage, 12 Stunden&lt;br /&gt;
Verfuegbarkeit 99% ~ Maximaler Ausfall von 315360 Sekunden ~ 3 Tage, 15 Stunden, 36 Minuten&lt;br /&gt;
Verfuegbarkeit 99.9% ~ Maximaler Ausfall von 31536 Sekunden ~ 8 Stunden, 45 Minuten, 36 Sekunden (hier beginnt Hochverfuegbarkeit)&lt;br /&gt;
Verfuegbarkeit 99.99% ~ Maximaler Ausfall von 3153.6 Sekunden ~ 52 Minuten, 33.6 Sekunden&lt;br /&gt;
Verfuegbarkeit 99.999% ~ Maximaler Ausfall von 315.36 Sekunden ~ 5 Minuten, 15.36 Sekunden&lt;br /&gt;
Verfuegbarkeit 99.9999% ~ Maximaler Ausfall von 31.536 Sekunden&lt;br /&gt;
&lt;br /&gt;
Hach, drei Tage Ausfall im Jahr sind ja nicht so schlimm ... oder? Was ist denn, wenn die Ausfallzeit nicht über das Jahr verteilt auftritt, sondern direkt am Stück? Es gibt sehr viele Unternehmen, bei denen ein dreitaegiger Stillstand zum Ruin fuehrt, so dass die Firma dicht machen muss.&lt;br /&gt;
&lt;br /&gt;
Ist Euch in dem Zusammenhang mal aufgefallen, wie selbstverstaendlich es fuer uns ist, dass das Telefonnetz &quot;immer&quot; verfuegbar ist und dass wir Ausfaelle von IT-Systemen als gegeben hinnehmen? Seit alles auf VoIP (Voice over IP) umgestellt wird, sind auch die Zeiten der immerwaehrenden Verfuegbarkeit vorbei.&lt;br /&gt;
&lt;br /&gt;
Ein abschliessendes Wort. Je nach gewuenschtem Verfuegbarkeitsgrad muss die Architektur des Systems ausgewaehlt werden. Dabei reicht die Bandbreite von &quot;Ersatzteile und -geraete verfuegbar halten&quot; ueber &quot;Hot- und Cold-Standby-Systeme&quot; bis hin zu Lastverteilung, Ausweichrechenzentren und dergleichen mehr. Wir werden hier sicher noch Loesungen vorstellen. 
    </content:encoded>

    <pubDate>Fri, 23 Dec 2011 09:00:00 +0100</pubDate>
    <guid isPermaLink="false">http://adminstories.de/index.php?/archives/112-guid.html</guid>
    <category>Eingestreut</category>

</item>
<item>
    <title>KW 2011/50 - Fundstuecke</title>
    <link>http://adminstories.de/index.php?/archives/110-KW-201150-Fundstuecke.html</link>
            <category>Schnippsel</category>
    
    <comments>http://adminstories.de/index.php?/archives/110-KW-201150-Fundstuecke.html#comments</comments>
    <wfw:comment>http://adminstories.de/wfwcomment.php?cid=110</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://adminstories.de/rss.php?version=2.0&amp;type=comments&amp;cid=110</wfw:commentRss>
    

    <author>nospam@example.com (Dirk Deimeke)</author>
    <content:encoded>
    &lt;strong&gt;Kalenderwoche 50, 12.-18.12.2011&lt;/strong&gt;&lt;br /&gt;
&lt;br /&gt;
Bei Golem ist der Artikel &lt;a href=&quot;http://www.golem.de/1112/88369.html&quot; title=&quot;Unix-Tools: Erweiterungen von Grep und Diff vorgestellt - Golem.de&quot;&gt;Erweiterungen von Grep und Diff vorgestellt&lt;/a&gt; zu lesen. Diese Erweiterungen sollen nicht mehr zeilenbasiert arbeiten, sondern auf Ebene von Datenbloecken.&lt;br /&gt;
&lt;br /&gt;
Bei nixCraft (sehr lesenswertes Blog), gibt es den neuen Artikel &lt;a href=&quot;http://www.cyberciti.biz/tips/linux-iptables-examples.html&quot; title=&quot; Linux: 20 Iptables Examples For New SysAdmins&quot;&gt;Linux: 20 Iptables Examples For New SysAdmins&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://www.ibm.com/developerworks/aix/library/au-usingtripwire/index.html?ca=drs-&quot; title=&quot;Running with Tripwire&quot;&gt;Running with Tripwire&lt;/a&gt; ist ein guter Einstiegspunkt, um Tripwire zu nutzen.&lt;br /&gt;
&lt;br /&gt;
Im &lt;a href=&quot;http://everythingsysadmin.com/2011/12/two-interesting-python-tutoria.html&quot; title=&quot;Everything Sysadmin: Two interesting Python tutorials&quot;&gt;verlinkten Post&lt;/a&gt; gibt es Hinweise auf zwei gute Python-Tutorials.&lt;br /&gt;
&lt;br /&gt;
Sehr guter Artikel zur Sicherheitsproblematik aktueller Systeme: &lt;a href=&quot;http://www.1337core.de/2011/12/99-sicherheit-ist-kein-problem.html&quot; title=&quot;1337 Blog.: 99% Sicherheit ist kein Problem.&quot;&gt;99% Sicherheit ist kein Problem&lt;/a&gt; 
    </content:encoded>

    <pubDate>Mon, 19 Dec 2011 00:00:00 +0100</pubDate>
    <guid isPermaLink="false">http://adminstories.de/index.php?/archives/110-guid.html</guid>
    <category>Schnippsel</category>

</item>
<item>
    <title>Installation und Konfiguration von vsftpd mit SSL</title>
    <link>http://adminstories.de/index.php?/archives/111-Installation-und-Konfiguration-von-vsftpd-mit-SSL.html</link>
            <category>Anleitungen</category>
    
    <comments>http://adminstories.de/index.php?/archives/111-Installation-und-Konfiguration-von-vsftpd-mit-SSL.html#comments</comments>
    <wfw:comment>http://adminstories.de/wfwcomment.php?cid=111</wfw:comment>

    <slash:comments>6</slash:comments>
    <wfw:commentRss>http://adminstories.de/rss.php?version=2.0&amp;type=comments&amp;cid=111</wfw:commentRss>
    

    <author>nospam@example.com (Ramon Kukla)</author>
    <content:encoded>
    Wir haben mehrere Server im Einsatz. Auf einigen Servern hosten wir auch Dienste fuer Bekannte, die allerdings keinen direkten Zugang (SSH) erhalten. Nun war die Frage, wie diese Benutzer Daten auf den Server kopieren koennen, um beispielsweise die eigene Webseite auf einen aktuellen Stand zu bringen. Da Dirk und ich gerne auf ungesicherte Datenuebertragungen verzichten moechten, haben wir uns hier fuer &lt;a href=&quot;https://de.wikipedia.org/wiki/FTPS&quot; title=&quot;&quot;&gt;FTPS &lt;/a&gt;entschieden.&lt;br /&gt;
&lt;br /&gt;
Anfaenglich hatten wir uns auf Serverseite fuer &lt;a href=&quot;http://www.proftpd.org/&quot; title=&quot;The ProFTPD Project: Home&quot;&gt;ProFTPd&lt;/a&gt; entschieden. Die Installation lief auch problemlos. Allerdings konnte spaeter keine Verbindung hergestellt werden. Grund ist ein &lt;a href=&quot;https://bugs.launchpad.net/ubuntu/+source/proftpd-dfsg/+bug/580512&quot; title=&quot;Bug #580512 “proftpd 1.3.2c with SSL is useless in Ubuntu 10.04” : Bugs : “proftpd-dfsg” package : Ubuntu&quot;&gt;bekannter Bug&lt;/a&gt;, den wir auch in unserer Umgebung nachstellen &quot;konnten&quot;. Also haben &lt;a href=&quot;http://vsftpd.beasts.org/&quot; title=&quot;&quot;&gt;vsftpd&lt;/a&gt; als Mittel der Wahl ausgewaehlt.&lt;br /&gt;
&lt;br /&gt;
Die Installation ansich kann gewohnt problemlos ueber die Paketquellen erfolgen. Flott ein &lt;code&gt;sudo aptitude install vsftpd libpam-pwdfile&lt;/code&gt; und schon kann man an die Konfiguration gehen. Das Paket &lt;code&gt;libpam-pwdfile&lt;/code&gt; wird spaeter benoetigt um Benutzer gegen eine Passwortdatei zu authentifizieren. Wir haben diesen Weg gewaehlt, damit wir die Benutzer nicht in die &lt;code&gt;/etc/passwd&lt;/code&gt; eintragen muessen. Da wir FTPS nutzen moechten habe ich den Daemon erst mal gestoppt (&lt;code&gt;service vsftpd stop&lt;/code&gt;) und ein Zertifikat erstellt.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;bash geshi&quot; style=&quot;text-align: left&quot;&gt;ramon&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;@&lt;/span&gt;server:&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;srv&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;www&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;# cd /etc/ssl/private/&lt;/span&gt;&lt;br /&gt;ramon&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;@&lt;/span&gt;server:&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;etc&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;ssl&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;private&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;# openssl req -x509 -nodes -days 365 -newkey rsa:1024 -keyout vsftpd.pem -out vsftpd.pem&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
Anschliessend muss die Datei &lt;code&gt;/etc/vsftpd.conf&lt;/code&gt; angepasst werden. Hier mal die relevanten Teile inklusive deren Beschreibung aus unserer Konfiguration.&lt;br /&gt;
&lt;br /&gt;
&lt;code&gt;# Uncomment this to enable any form of FTP write command.&lt;br /&gt;
write_enable=YES&lt;br /&gt;
&lt;br /&gt;
# You may restrict local users to their home directories.  See the FAQ for&lt;br /&gt;
# the possible risks in this before using chroot_local_user or&lt;br /&gt;
# chroot_list_enable below.&lt;br /&gt;
chroot_local_user=YES&lt;br /&gt;
&lt;br /&gt;
# If enabled, virtual users will use the same privileges as local users. By default, virtual&lt;br /&gt;
# users will use the same privileges as anonymous users, which tends to be more restrictive&lt;br /&gt;
# (especially in terms of write access).&lt;br /&gt;
virtual_use_local_privs=YES&lt;br /&gt;
&lt;br /&gt;
# This option is useful is conjunction with virtual users. It is used to automatically&lt;br /&gt;
# generate a home directory for each virtual user, based on a template.&lt;br /&gt;
user_sub_token=$USER&lt;br /&gt;
&lt;br /&gt;
# This option represents a directory which vsftpd will try to change into after a local&lt;br /&gt;
# (i.e. non-anonymous) login. Failure is silently ignored.&lt;br /&gt;
local_root=/srv/www/$USER&lt;br /&gt;
&lt;br /&gt;
# If enabled, all user and group information in directory listings will be displayed as&lt;br /&gt;
# &quot;ftp&quot;.&lt;br /&gt;
hide_ids=YES&lt;br /&gt;
&lt;br /&gt;
# Turn on SSL&lt;br /&gt;
ssl_enable=YES&lt;br /&gt;
&lt;br /&gt;
# This option specifies the location of the RSA certificate to use for SSL&lt;br /&gt;
# encrypted connections.&lt;br /&gt;
rsa_cert_file=/etc/ssl/private/vsftpd.pem&lt;br /&gt;
&lt;br /&gt;
# All non-anonymous logins are forced to use a secure SSL connection in order to&lt;br /&gt;
# send and receive data on data connections.&lt;br /&gt;
force_local_data_ssl=YES&lt;br /&gt;
&lt;br /&gt;
# All non-anonymous logins are forced to use a secure SSL connection in order to send the password.&lt;br /&gt;
force_local_logins_ssl=YES&lt;br /&gt;
&lt;br /&gt;
# Permit TLS v1 protocol connections. TLS v1 connections are preferred&lt;br /&gt;
ssl_tlsv1=YES&lt;br /&gt;
&lt;br /&gt;
# Permit SSL v2 protocol connections. TLS v1 connections are preferred&lt;br /&gt;
ssl_sslv2=NO&lt;br /&gt;
&lt;br /&gt;
# permit SSL v3 protocol connections. TLS v1 connections are preferred&lt;br /&gt;
ssl_sslv3=NO&lt;br /&gt;
&lt;br /&gt;
# If set to yes, all SSL data connections are required to exhibit SSL session reuse (which proves&lt;br /&gt;
# that they know the same master secret as the control channel). Although this is a secure default,&lt;br /&gt;
# it may break many FTP clients, so you may want to disable it.&lt;br /&gt;
require_ssl_reuse=NO&lt;/code&gt;&lt;br /&gt;
&lt;br /&gt;
Wie man sehen kann mappen wir die Benutzer auf den Ordner &lt;code&gt;/srv/www/$USER&lt;/code&gt;. Das bedeutet natuerlich auch, dass der Ordner vorhanden sein sollte und die Rechte enstprechend gesetzt sind.&lt;br /&gt;
&lt;br /&gt;
Wie oben beschrieben moechten wir die Benutzer nicht im System ansich anlegen sondern in einer eigenen Datei pflegen. Dafuer erstelle ich erst einmal die Datei &lt;code&gt;/etc/vsftpd.passwd&lt;/code&gt; und trage auch gleich einen ersten Benutzer ein.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;bash geshi&quot; style=&quot;text-align: left&quot;&gt;ramon&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;@&lt;/span&gt;server:&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;etc&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;# htpasswd -c /etc/vsftpd.passwd ramon&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
Soweit, so fast fertig. Nun muessen wir noch konfigurieren, dass eben diese Datei auch genutzt wird um Benutzer zu authentifizieren. Dafuer muss die Datei &lt;code&gt;/etc/pam.d/vsftpd&lt;/code&gt; angepasst werden. Folgende Eintraege sind dabei zu machen.&lt;br /&gt;
&lt;br /&gt;
&lt;code&gt;auth    required pam_pwdfile.so pwdfile /etc/vsftpd.passwd&lt;br /&gt;
account required pam_permit.so&lt;/code&gt;&lt;br /&gt;
&lt;br /&gt;
Des Weiteren muss der Eintrag &lt;code&gt;auth    required        pam_shells.so&lt;/code&gt; auskommentiert werden. Jetzt nur noch den Service wieder starten und schon sollte die Anmeldung moeglich sein.&lt;br /&gt;
&lt;br /&gt;
Alles in allem ist die Einrichtung &lt;strong&gt;eigentlich&lt;/strong&gt; einfach. Wie so oft steckt der Teufel aber im Detail. Im Rahmen der Installation hatte ich einige Probleme, die mich etwas Zeit gekostet haben. So ist auf Clientseite die Meldung &lt;code&gt;ssl_getc: SSL_read failed -1 = 0, bzw. **** gnutls_record_recv: A record Paket with illegal version was received&lt;/code&gt; kein zwingender Hinweis auf ein Problem mit SSL. Bei mir war es einfach der fehlende Benutzer, der Ausloeser der Meldung war. Nach dem Anlegen der &lt;code&gt;/etc/vsftpd.passwd&lt;/code&gt; und der Anpassung der &lt;code&gt;/etc/pam.d/vsftpd&lt;/code&gt; funktionierte die Anmeldung noch immer nicht. Dafuer habe ich dann in der &lt;code&gt;/var/log/auth.log&lt;/code&gt; den Eintrag &lt;code&gt;bar vsftpd: PAM unable to dlopen(/lib/security/pam_pwdfile.so): /lib/security/pam_pwdfile.so: cannot open shared object file: No such file or directory&lt;/code&gt; gefunden. Daher auch die oben angesprochene Installation des Pakets &lt;code&gt;libpam-pwdfile&lt;/code&gt;. Bei einem weiteren Versuch hat die Anmeldung noch immer nicht funktioniert, da ich die Datei &lt;code&gt;/etc/pam.d/vsftpd&lt;/code&gt; zwar erweitert, den oben angesprochenen auth-Eintrag aber nicht auskommentiert hatte. Man sieht also, da ist Luft fuer Fehler gewesen. 
    </content:encoded>

    <pubDate>Fri, 16 Dec 2011 09:00:00 +0100</pubDate>
    <guid isPermaLink="false">http://adminstories.de/index.php?/archives/111-guid.html</guid>
    <category>Anleitungen</category>

</item>
<item>
    <title>KW 2011/49 - Fundstuecke</title>
    <link>http://adminstories.de/index.php?/archives/109-KW-201149-Fundstuecke.html</link>
            <category>Schnippsel</category>
    
    <comments>http://adminstories.de/index.php?/archives/109-KW-201149-Fundstuecke.html#comments</comments>
    <wfw:comment>http://adminstories.de/wfwcomment.php?cid=109</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://adminstories.de/rss.php?version=2.0&amp;type=comments&amp;cid=109</wfw:commentRss>
    

    <author>nospam@example.com (Dirk Deimeke)</author>
    <content:encoded>
    &lt;strong&gt;Kalenderwoche 49, 05.-11.12.2011&lt;/strong&gt;&lt;br /&gt;
&lt;br /&gt;
Ein bisschen spaet, aber noch nicht zu spaet: &lt;a href=&quot;http://sysadvent.blogspot.com/&quot; title=&quot;sysadvent&quot;&gt;Sysadvent&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Bei den IBM developerWorks habe ich &lt;a href=&quot;https://www.ibm.com/developerworks/opensource/library/os-python-kvm-scripting1/index.html?ca=drs-&quot; title=&quot;Scripting KVM with Python, Part 1: libvirt&quot;&gt;Scripting KVM with Python, Part 1: libvirt&lt;/a&gt; gefunden.&lt;br /&gt;
&lt;br /&gt;
Ebenfalls dort findet sich ein Artikel fuer LPIC 302: &lt;a href=&quot;https://www.ibm.com/developerworks/linux/library/l-lpic3-315-1/index.html?ca=drs-&quot; title=&quot;Learn Linux, 302 (Mixed environments): Linux file system and share/service permissions&quot;&gt;Learn Linux, 302 (Mixed environments): Linux file system and share/service permissions&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Und ein dritter Artikel, ja diese Woche war sehr ertragreich, &lt;a href=&quot;https://www.ibm.com/developerworks/linux/library/l-linux-shells/index.html?ca=drs-&quot; title=&quot;Evolution of shells in Linux&quot;&gt;Evolution of shells in Linux&lt;/a&gt; (From Bourne to Bash and beyond).&lt;br /&gt;
&lt;br /&gt;
Pro Linux hat &lt;a href=&quot;http://www.pro-linux.de/kurztipps/2/1541/pdf-tools-fuer-die-konsole.html&quot; title=&quot;PDF-Tools für die Konsole - Pro-Linux&quot;&gt;PDF-Tools für die Konsole&lt;/a&gt; vorgestellt. Da sind zwei oder drei, mit denen ich auch gerne in Zukunft etwas machen moechte.&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://everythingsysadmin.com/the-test.html&quot; title=&quot;Everything Sysadmin: The Limoncelli Test: 32 Questions for Your Sysadmin Team&quot;&gt;The Limoncelli Test: 32 Questions for Your Sysadmin Team&lt;/a&gt; ist ein etwas laengerer meta-Artikel, der interessante Punkte enthaelt, an der man seine Systemadministration messen kann. 
    </content:encoded>

    <pubDate>Mon, 12 Dec 2011 00:00:00 +0100</pubDate>
    <guid isPermaLink="false">http://adminstories.de/index.php?/archives/109-guid.html</guid>
    <category>Schnippsel</category>

</item>
<item>
    <title>Ein Syslog Server, das Backup</title>
    <link>http://adminstories.de/index.php?/archives/107-Ein-Syslog-Server,-das-Backup.html</link>
            <category>Anleitungen</category>
    
    <comments>http://adminstories.de/index.php?/archives/107-Ein-Syslog-Server,-das-Backup.html#comments</comments>
    <wfw:comment>http://adminstories.de/wfwcomment.php?cid=107</wfw:comment>

    <slash:comments>2</slash:comments>
    <wfw:commentRss>http://adminstories.de/rss.php?version=2.0&amp;type=comments&amp;cid=107</wfw:commentRss>
    

    <author>nospam@example.com (Ramon Kukla)</author>
    <content:encoded>
    Heute ein Folgebeitrag zum Artikel &lt;a href=&quot;http://adminstories.de/index.php?/archives/101-Einrichten-eines-Syslog-Servers.html&quot; title=&quot;Einrichten eines Syslog Servers  - adminstories&quot;&gt;Einrichten eines Syslog Servers&lt;/a&gt;. In diesem wurden ja einige Schritte zur Einrichtung eines Syslogservers beschrieben, der eingehende Logs in eine MySQL-Datenbank schreibt. Das ist auch soweit toll, bis auf... Bis auf die Punkte Backup und Logrotation. Im dargestellten Artikel bin ich mit keinem Wort auf einen der beiden Punkte eingegangen. Das moechte ich nun nachholen.&lt;br /&gt;
&lt;br /&gt;
Warum ueberhaupt Backup und Rotation?&lt;br /&gt;
&lt;br /&gt;
Die Logs die ich einsammel enthalten Details, die mir im Fall eines Problems oder Vorfalls helfen koennen benoetigte Informationen auf die Schnelle zentral zu sichten. Wenn das Ereignis, ueber das ich mich informieren moechte, nun zwei Tage zurueck liegt, mir aber am Tag vorher die Daten verloren gegangen sind (Servercrash, etc.), waere das schon doof. Daher also Backup. Und die Rotation soll einfach helfen die anfallenden Datenmengen zu begrenzen. Denn Logs von vor zwei Tagen duerften mal helfen koennen. Aber ab einem bestimmten Alter sind Logs in der Regel nicht mehr interessant. Ich habe den Zeitraum fuer mich mal auf 90 Tage festgelegt. &lt;br /&gt;
&lt;br /&gt;
Die Daten, um die es mir nachfolgend geht, liegen in der Datenbank Syslog in der Tabelle SystemEvents. Um ein &quot;richtiges&quot; Backup zu haben uebernehme ich taeglich die Daten vom Vortag in eine neue Tabelle, exportiere diese und sicher die dann weg.&lt;br /&gt;
&lt;br /&gt;
Also fangen wir an und erstellen eine Tabelle, die die anfallenden Daten aufnehmen kann.&lt;br /&gt;
&lt;br /&gt;
&lt;code&gt;mysql -u root -p -e &quot;CREATE TABLE Syslog.SystemEventsBackup LIKE Syslog.SystemEvents&quot; Syslog&lt;/code&gt;&lt;br /&gt;
&lt;br /&gt;
Hiermit wird in der Datenbank &lt;code&gt;Syslog&lt;/code&gt; die neue Tabelle &lt;code&gt;SystemEventsBackup&lt;/code&gt; erstellt, die die gleichen Eigenschaften wie die Tabelle &lt;code&gt;SystemEvents&lt;/code&gt; hat. Moechte ich nun die Daten des Vortags sichern, fuege ich diese erst einmal in meine neue Tabelle ein, nachdem ich die vorher geleert habe.&lt;br /&gt;
&lt;br /&gt;
&lt;code&gt;mysql -u root -p -e &quot;TRUNCATE Syslog.SystemEventsBackup&quot; Syslog&lt;br /&gt;
mysql -u root -p -e &quot;INSERT INTO Syslog.SystemEventsBackup SELECT * FROM SystemEvents WHERE datediff( curdate() , ReceivedAt ) =1&quot; Syslog&lt;/code&gt;&lt;br /&gt;
&lt;br /&gt;
Habe ich die Abfrage nun ausgefuehrt kann ich hergehen und die Tabelle via &lt;code&gt;mysqldump&lt;/code&gt; exportieren.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;bash geshi&quot; style=&quot;text-align: left&quot;&gt;root&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;@&lt;/span&gt;server:~&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;# mysqldump -u root -p Syslog SystemEventsBackup &amp;gt; test.sql&lt;/span&gt;&lt;br /&gt;Enter password:&lt;/div&gt;&lt;br /&gt;
Prima, die Sicherung klappt schon mal. Nun noch schauen, dass die Eintraege, die aelter als 90 Tage sind, entfernt werden. Fuer einen ersten Versuch schauen wir erst mal, ob die Anfrage korrekt laueft und nehmen alles, was aelter als 10 Tage ist.&lt;br /&gt;
&lt;br /&gt;
&lt;code&gt;mysql -u root -p -e &quot;SELECT * FROM SystemEvents WHERE unix_timestamp(ReceivedAt) &lt; unix_timestamp() - 10*24*60*60&quot; Syslog&lt;/code&gt;&lt;br /&gt;
&lt;br /&gt;
Ist das Resultat wie wir es erwarten koennen wir aus dem SELECT ein DELETE machen. Fuer die mit den schnellen Finger. Hiernach sind die Daten erst mal weg.&lt;br /&gt;
&lt;br /&gt;
&lt;code&gt;mysql -u root -p -e &quot;DELETE FROM SystemEvents WHERE unix_timestamp(ReceivedAt) &lt; unix_timestamp() - 10*24*60*60&quot; Syslog&lt;/code&gt;&lt;br /&gt;
&lt;br /&gt;
Somit haben wir also alles zusammen um uns ein Script zu schreiben, dass uns taeglich eine Sicherung der gestrigen Daten macht und anschliessend alle Daten in der Datenbank loescht, die aelter als 90 Tage sind.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;bash geshi&quot; style=&quot;text-align: left&quot;&gt;&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;#!/bin/bash&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;logger &lt;span style=&quot;color: #660033;&quot;&gt;-t&lt;/span&gt; backrotate.bash &lt;span style=&quot;color: #660033;&quot;&gt;-i&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;Starting backrotate.bash&amp;quot;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: #007800;&quot;&gt;TIMESTAMP&lt;/span&gt;=$&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;date&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;+%Y%m%d-%H%M&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #007800;&quot;&gt;TARGET_DIRECTORY&lt;/span&gt;=&lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;/var/tmp&amp;quot;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #007800;&quot;&gt;DB_PREFIX&lt;/span&gt;=&lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;db.&amp;quot;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: #007800;&quot;&gt;DB_USERNAME&lt;/span&gt;=&lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;username&amp;quot;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #007800;&quot;&gt;DB_PASSWORD&lt;/span&gt;=&lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;password&amp;quot;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #007800;&quot;&gt;DB_DATABASE&lt;/span&gt;=&lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;Syslog&amp;quot;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #007800;&quot;&gt;DB_TABLE&lt;/span&gt;=&lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;SystemEvents&amp;quot;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #007800;&quot;&gt;DB_BAKTABLE&lt;/span&gt;=&lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;SystemEventsBackup&amp;quot;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #007800;&quot;&gt;DB_ENTRIES&lt;/span&gt;=&lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;&lt;span style=&quot;color: #780078;&quot;&gt;`mysql -u $DB_USERNAME -p$DB_PASSWORD -e &amp;quot;SELECT COUNT(*) FROM SystemEvents WHERE unix_timestamp(ReceivedAt) &amp;lt; unix_timestamp() - 90*24*60*60&amp;quot; Syslog | egrep &amp;quot;[0-9]{1,}&amp;quot; -o`&lt;/span&gt;&amp;quot;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;logger &lt;span style=&quot;color: #660033;&quot;&gt;-t&lt;/span&gt; backrotate.bash &lt;span style=&quot;color: #660033;&quot;&gt;-i&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;creating backupfile&amp;quot;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: #007800;&quot;&gt;FILENAME&lt;/span&gt;=&lt;span style=&quot;color: #007800;&quot;&gt;$TARGET_DIRECTORY&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #007800;&quot;&gt;$DB_DATABASE&lt;/span&gt;-&lt;span style=&quot;color: #007800;&quot;&gt;$TIMESTAMP&lt;/span&gt;.sql.bz2&lt;br /&gt;mysql &lt;span style=&quot;color: #660033;&quot;&gt;-u&lt;/span&gt; &lt;span style=&quot;color: #007800;&quot;&gt;$DB_USERNAME&lt;/span&gt; -p&lt;span style=&quot;color: #007800;&quot;&gt;$DB_PASSWORD&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-e&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;TRUNCATE &lt;span style=&quot;color: #007800;&quot;&gt;$DB_BAKTABLE&lt;/span&gt;&amp;quot;&lt;/span&gt; &lt;span style=&quot;color: #007800;&quot;&gt;$DB_DATABASE&lt;/span&gt;&lt;br /&gt;mysql &lt;span style=&quot;color: #660033;&quot;&gt;-u&lt;/span&gt; &lt;span style=&quot;color: #007800;&quot;&gt;$DB_USERNAME&lt;/span&gt; -p&lt;span style=&quot;color: #007800;&quot;&gt;$DB_PASSWORD&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-e&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;INSERT INTO &lt;span style=&quot;color: #007800;&quot;&gt;$DB_DATABASE&lt;/span&gt;.&lt;span style=&quot;color: #007800;&quot;&gt;$DB_BAKTABLE&lt;/span&gt; SELECT * FROM &lt;span style=&quot;color: #007800;&quot;&gt;$DB_TABLE&lt;/span&gt; WHERE datediff( curdate() , ReceivedAt ) =1&amp;quot;&lt;/span&gt; &lt;span style=&quot;color: #007800;&quot;&gt;$DB_DATABASE&lt;/span&gt;&lt;br /&gt;mysqldump &lt;span style=&quot;color: #660033;&quot;&gt;-u&lt;/span&gt; &lt;span style=&quot;color: #007800;&quot;&gt;$DB_USERNAME&lt;/span&gt; -p&lt;span style=&quot;color: #007800;&quot;&gt;$DB_PASSWORD&lt;/span&gt; &lt;span style=&quot;color: #007800;&quot;&gt;$DB_DATABASE&lt;/span&gt; &lt;span style=&quot;color: #007800;&quot;&gt;$DB_BAKTABLE&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;|&lt;/span&gt; &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;bzip2&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-9&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;&lt;/span&gt; &lt;span style=&quot;color: #007800;&quot;&gt;$FILENAME&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;logger &lt;span style=&quot;color: #660033;&quot;&gt;-t&lt;/span&gt; backrotate.bash &lt;span style=&quot;color: #660033;&quot;&gt;-i&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;backupfile &lt;span style=&quot;color: #007800;&quot;&gt;$FILENAME&lt;/span&gt; created&amp;quot;&lt;/span&gt;&lt;br /&gt;logger &lt;span style=&quot;color: #660033;&quot;&gt;-t&lt;/span&gt; backrotate.bash &lt;span style=&quot;color: #660033;&quot;&gt;-i&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;deleting &lt;span style=&quot;color: #007800;&quot;&gt;$DB_ENTRIES&lt;/span&gt; database-entries &amp;gt;90 days&amp;quot;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;mysql &lt;span style=&quot;color: #660033;&quot;&gt;-u&lt;/span&gt; &lt;span style=&quot;color: #007800;&quot;&gt;$DB_USERNAME&lt;/span&gt; -p&lt;span style=&quot;color: #007800;&quot;&gt;$DB_PASSWORD&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-e&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;SELECT * FROM &lt;span style=&quot;color: #007800;&quot;&gt;$DB_TABLE&lt;/span&gt; WHERE unix_timestamp(ReceivedAt) &amp;lt; unix_timestamp() - 90*24*60*60&amp;quot;&lt;/span&gt; &lt;span style=&quot;color: #007800;&quot;&gt;$DB_DATABASE&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
Diejenigen von euch, die schon laenger mitlesen werden zu Recht anmerken, dass ich mich nicht an die &lt;a href=&quot;http://adminstories.de/index.php?/archives/13-Fehler-und-Logging.html&quot; title=&quot;Fehler und Logging  - adminstories&quot;&gt;eigenen Hinweis&lt;/a&gt; halte. Natuerlich mache ich das :) Obiger Job soll ja nur das Geruest sein. In &quot;meiner&quot; Produktion habe ich das natuerlich entsprechend erweitert. ;) 
    </content:encoded>

    <pubDate>Fri, 09 Dec 2011 09:00:00 +0100</pubDate>
    <guid isPermaLink="false">http://adminstories.de/index.php?/archives/107-guid.html</guid>
    <category>Anleitungen</category>

</item>
<item>
    <title>KW 2011/48 - Fundstuecke</title>
    <link>http://adminstories.de/index.php?/archives/108-KW-201148-Fundstuecke.html</link>
            <category>Schnippsel</category>
    
    <comments>http://adminstories.de/index.php?/archives/108-KW-201148-Fundstuecke.html#comments</comments>
    <wfw:comment>http://adminstories.de/wfwcomment.php?cid=108</wfw:comment>

    <slash:comments>2</slash:comments>
    <wfw:commentRss>http://adminstories.de/rss.php?version=2.0&amp;type=comments&amp;cid=108</wfw:commentRss>
    

    <author>nospam@example.com (Dirk Deimeke)</author>
    <content:encoded>
    &lt;strong&gt;Kalenderwoche 48, 28.11.-04.12.2011&lt;/strong&gt;&lt;br /&gt;
&lt;br /&gt;
In der Learn Linux von developperWorks rauschte gerade der Artikel &lt;a href=&quot;https://www.ibm.com/developerworks/linux/library/l-lpic3-314-4/index.html?ca=drs-&quot; title=&quot;Learn Linux, 302 (Mixed environments): Working with Windows clients&quot;&gt;Working with Windows clients&lt;/a&gt; rein.&lt;br /&gt;
&lt;br /&gt;
Gesetzt den Fall, man ist in der Bash, sorgt &lt;code&gt;cp datei{,.bak}&lt;/code&gt; für das schnelle Backup einer Datei.&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://0x7fffffff.net/&quot; title=&quot;countdown till 0x7FFFFFFF&quot;&gt;countdown till 0x7FFFFFFF&lt;/a&gt;, dem Ende der (Unix-)Zeit. 
    </content:encoded>

    <pubDate>Mon, 05 Dec 2011 00:00:00 +0100</pubDate>
    <guid isPermaLink="false">http://adminstories.de/index.php?/archives/108-guid.html</guid>
    <category>Schnippsel</category>

</item>
<item>
    <title>Automount</title>
    <link>http://adminstories.de/index.php?/archives/106-Automount.html</link>
            <category>Werkzeugkasten</category>
    
    <comments>http://adminstories.de/index.php?/archives/106-Automount.html#comments</comments>
    <wfw:comment>http://adminstories.de/wfwcomment.php?cid=106</wfw:comment>

    <slash:comments>7</slash:comments>
    <wfw:commentRss>http://adminstories.de/rss.php?version=2.0&amp;type=comments&amp;cid=106</wfw:commentRss>
    

    <author>nospam@example.com (Dirk Deimeke)</author>
    <content:encoded>
    Wenn man Netzwerk-Shares benutzt, ist es selten sinnvoll, diese Shares staendig zu verbinden. Schlauer waere es doch, wenn man sie nur dann verbinden wuerde, wenn sie gebraucht werden. Und genau das leistet &lt;a href=&quot;http://www.autofs.org/&quot; title=&quot; Configuration of the Automounter Autofs &quot;&gt;&lt;code&gt;autofs&lt;/code&gt;&lt;/a&gt;. Die Einrichtung geht flott von der Hand, wenn man weiss wie.&lt;br /&gt;
&lt;br /&gt;
Installieren von &lt;code&gt;autofs&lt;/code&gt; mit dem Paketmanagement der eigenen Distribution.&lt;br /&gt;
&lt;br /&gt;
So einrichten, dass es automatisch startet, beispielsweise mit &lt;code&gt;rc-update add autofs&lt;/code&gt;, bei Debian und Ubuntu ist nichts zu tun.&lt;br /&gt;
&lt;br /&gt;
Ein Verzeichnis erstellen, unter dem die Shares eingebunden werden sollen, bei mir &lt;code&gt;mkdir /ext&lt;/code&gt;.&lt;br /&gt;
&lt;br /&gt;
Danach die eigentliche Konfiguration:&lt;br /&gt;
&lt;br /&gt;
In die &lt;code&gt;/etc/autofs/auto.master&lt;/code&gt; (bei Debian und Ubuntu &lt;code&gt;/etc/auto.master&lt;/code&gt;) folgende Zeile einfuegen:&lt;br /&gt;
&lt;code&gt;/ext   /etc/autofs/auto.misc    --timeout=300 --ghost&lt;/code&gt;&lt;br /&gt;
Fuer Debian und Ubuntu &lt;code&gt;/etc/auto.misc&lt;/code&gt;, es kann aber auch eine beliebige andere Datei sein. &lt;code&gt;timeout=300&lt;/code&gt; sorgt fuer einen umount nach 300 Sekunden Inaktivitaet und &lt;code&gt;ghost&lt;/code&gt; sorgt dafür, dass die Verzeichnisse auch sichtbar sind, wenn sie nicht gemountet wurden.&lt;br /&gt;
&lt;br /&gt;
In die &lt;code&gt;/etc/autofs/auto.misc&lt;/code&gt; bzw. &lt;code&gt;/etc/auto.misc&lt;/code&gt; kommen jetzt die ganzen Shares, die eingebunden werden sollen. In den Dateien finden sich bereits einige Beispiele, ich zeige das hier einmal exemplarisch für eine cifs-Share:&lt;br /&gt;
&lt;code&gt;share -fstype=cifs,credentials=/root/credentials,nounix  ://host/sharename&lt;/code&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;code&gt;share&lt;/code&gt; ist der Name des Verzeichnisses unter &lt;code&gt;/ext&lt;/code&gt;, wohin die Einbindung erfolgen soll. Nach einem Tab (oder ein paar Leerzeichen) folgt das Filesystem mit den Optionen, die gebraucht werden und wieder ein paar Leerzeichen (oder ein Tab) spaeter die Informationen des anbietenden Rechners.&lt;br /&gt;
&lt;br /&gt;
&lt;code&gt;/root/credentials&lt;/code&gt; erstellen mit folgendem Inhalt:&lt;br /&gt;
&lt;code&gt;username=value&lt;br /&gt;
password=value&lt;br /&gt;
workgroup=value&lt;/code&gt;&lt;br /&gt;
Falls keine Workgroup bekannt ist einfach &quot;workgroup&quot; benutzen oder eventuell sogar den Parameter weglassen.&lt;br /&gt;
&lt;br /&gt;
Nach einem Neustart von autofs gibt es einen virtuellen Ordner /ext/share und erst beim Wechsel in das Verzeichnis wird der Mount ausgeführt. 300 Sekunden nachdem kein Prozess mehr auf Dateien dort zugreift, wird das Verzeichnis wieder ausgehaengt.&lt;br /&gt;
&lt;br /&gt;
So richtig interessant wird das in Verbindung mit &lt;a href=&quot;http://fuse.sourceforge.net/&quot; title=&quot;FUSE: Filesystem in Userspace&quot;&gt;FUSE&lt;/a&gt; (Filesystem in Userspace), da denke ich insbesondere an &lt;a href=&quot;http://fuse.sourceforge.net/sshfs.html&quot; title=&quot;SSH Filesystem&quot;&gt;sshfs&lt;/a&gt;, &lt;a href=&quot;https://savannah.nongnu.org/projects/davfs2&quot; title=&quot;davfs2 - Summary [Savannah]&quot;&gt;davfs2&lt;/a&gt; oder &lt;a href=&quot;https://en.wikipedia.org/wiki/FTPFS&quot; title=&quot;FTPFS - Wikipedia, the free encyclopedia&quot;&gt;ftpfs&lt;/a&gt;. Es gibt eine sehr grosse Anzahl von &lt;a href=&quot;https://sourceforge.net/apps/mediawiki/fuse/index.php?title=NetworkFileSystems&quot;&gt;Netzwerkdateisystemen, die von FUSE unterstuetzt werden&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
Ich beschreibe hier das Vorgehen mit sshfs, da es das komplizierteste ist.&lt;br /&gt;
&lt;br /&gt;
Zuerst muessen wir testen, ob der User root (!) in der Lage ist per ssh auf die Gegenseite zuzugreifen.&lt;br /&gt;
&lt;br /&gt;
&lt;code&gt;ssh ich@ziel.domain.tld&lt;/code&gt;&lt;br /&gt;
&lt;br /&gt;
Sollte das nicht klappen, muss die &lt;code&gt;~/.ssh/config&lt;/code&gt; des root-Users angepasst werden. Meist reicht ein Eintrag, um den Key festzulegen, mit dem zugegriffen werden soll.&lt;br /&gt;
&lt;br /&gt;
&lt;code&gt;Host ziel&lt;br /&gt;
  HostName ziel.domain.tld&lt;br /&gt;
  User ich&lt;br /&gt;
  IdentityFile /home/ich/.ssh/id_rsa&lt;/code&gt;&lt;br /&gt;
&lt;br /&gt;
Jetzt funktioniert ein &lt;code&gt;ssh ziel&lt;/code&gt;.&lt;br /&gt;
&lt;br /&gt;
Der Eintrag in die &lt;code&gt;auto.misc&lt;/code&gt; muss erstellt und der Service &lt;code&gt;autofs&lt;/code&gt; neu gestartet werden.&lt;br /&gt;
&lt;br /&gt;
&lt;code&gt;mntpoint -fstype=fuse,rw,uid=1000,gid=1000,allow_other :sshfs#ich@ziel.domain.tld\:/pfad/zum/verzeichnis&lt;/code&gt;&lt;br /&gt;
&lt;br /&gt;
Im &lt;a href=&quot;https://help.ubuntu.com/community/Autofs&quot; title=&quot;Autofs - Community Ubuntu Documentation&quot;&gt;Wiki von ubuntu.com&lt;/a&gt; stehen noch einige weitere gute Erlaeuterungen.&lt;br /&gt;
&lt;br /&gt;
Gerade, wenn man - beispielsweise als Webentwickler - auf vielen entfernten Systemen arbeitet, ist das eine echte Erleichterung. Beim Wechsel in das entsprechende Verzeichnis wird es eingebunden und, wenn man fertig mit der Arbeit ist, auch wieder ausgehaengt. 
    </content:encoded>

    <pubDate>Fri, 02 Dec 2011 09:00:00 +0100</pubDate>
    <guid isPermaLink="false">http://adminstories.de/index.php?/archives/106-guid.html</guid>
    <category>Werkzeugkasten</category>

</item>
<item>
    <title>KW 2011/47 - Fundstuecke</title>
    <link>http://adminstories.de/index.php?/archives/104-KW-201147-Fundstuecke.html</link>
            <category>Schnippsel</category>
    
    <comments>http://adminstories.de/index.php?/archives/104-KW-201147-Fundstuecke.html#comments</comments>
    <wfw:comment>http://adminstories.de/wfwcomment.php?cid=104</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://adminstories.de/rss.php?version=2.0&amp;type=comments&amp;cid=104</wfw:commentRss>
    

    <author>nospam@example.com (Dirk Deimeke)</author>
    <content:encoded>
    &lt;strong&gt;Kalenderwoche 47, 21.-27.11.2011&lt;/strong&gt;&lt;br /&gt;
&lt;br /&gt;
Wer &lt;a href=&quot;http://www.gnome.org/gnome-3/&quot; title=&quot;GNOME 3 | GNOME&quot;&gt;GNOME 3&lt;/a&gt; nutzt (ich find es gar nicht mehr so unsexy), der sollte sich mal das &lt;code&gt;GSettings configuration tool&lt;/code&gt; anschauen. Eine flotte Uebersicht der moeglichen Schluessel bekommt man mit &lt;code&gt;for i in $(gsettings list-schemas); do gsettings list-recursively $i; done&lt;/code&gt;&lt;br /&gt;
 
    </content:encoded>

    <pubDate>Mon, 28 Nov 2011 00:00:00 +0100</pubDate>
    <guid isPermaLink="false">http://adminstories.de/index.php?/archives/104-guid.html</guid>
    <category>Schnippsel</category>

</item>
<item>
    <title>Verhalten im Ernstfall</title>
    <link>http://adminstories.de/index.php?/archives/105-Verhalten-im-Ernstfall.html</link>
            <category>Bewaehrtes</category>
    
    <comments>http://adminstories.de/index.php?/archives/105-Verhalten-im-Ernstfall.html#comments</comments>
    <wfw:comment>http://adminstories.de/wfwcomment.php?cid=105</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://adminstories.de/rss.php?version=2.0&amp;type=comments&amp;cid=105</wfw:commentRss>
    

    <author>nospam@example.com (Ramon Kukla)</author>
    <content:encoded>
    Weil es in meinem Umfeld die Tage wieder so eine Situation gab geht es heute um das Thema &quot;Verhalten im Ernstfall&quot;. Ein Ernstfall kann mehr oder weniger ausgepraegt sein. Auf unserem gemeinsamen Server hatten wir Anfang 2010 einen Ernstfall, denn ich mal als Notfall kategorisieren wuerde, der uns (&lt;a href=&quot;http://www.deimeke.net/dirk/blog/index.php?/archives/2072-Da-sind-wir-wieder-....html&quot; title=&quot;Da sind wir wieder ... | Dirks Logbuch&quot;&gt;Dirk&lt;/a&gt;, Hampa, &lt;a href=&quot;http://www.kukla.info/ramon/blog/index.php?/archives/535-Wieder-Online!.html&quot; title=&quot;Wieder Online!  - Workbench&quot;&gt;mich&lt;/a&gt;) einige Stunden fuer die Wiederherstellung gekostet hat.&lt;br /&gt;
&lt;br /&gt;
Die gemachten Erfahrungen haben Dirk und ich spaeter in einem gemeinsamen &lt;a href=&quot;http://www.kukla.info/ramon/dateien/baremetal.pdf&quot; title=&quot;&quot;&gt;Talk &lt;/a&gt;auf der Ubucon 2010 verarbeiten &quot;muessen&quot;.&lt;br /&gt;
&lt;br /&gt;
Eine Definition einer Stoerung oder Groesserem kann beispielsweise dem &lt;a href=&quot;https://www.bsi.bund.de/DE/Themen/weitereThemen/Webkurs1004/1_Einfuehrung/4_Definitionen/Definitionen_node.html&quot; title=&quot;BSI:    1.5 Definitionen: Störungen, Notfälle, Krisen und Katastrophen&quot;&gt;BSI entnommen&lt;/a&gt; werden. Letzlich laesst sich ein Problem nicht immer eindeutig kategorisieren. Aber halten wir uns nicht mit Definitionsdetails auf.&lt;br /&gt;
&lt;br /&gt;
Was mache ich nun, wenn es zu einer Stoerung kommt? Ich versuche erst einmal einzuschaetzen wie gross der Einfluss der Stoerung ist. Ist &quot;nur&quot; ein Testserver ausgefallen, der hier und da von Entwicklern genutzt wird oder ist ein Firewallcuster ausgefallen, so dass 4.000 Menschen kein Internet und damit auch keine Partneranwendungen mehr nutzen koennen? Oft zeigt das Telefon einem schon an, ob es ein wichtiges System getroffen hat oder nicht :)&lt;br /&gt;
&lt;br /&gt;
Wir gehen mal von einem harten Fall aus, wo viele Anwender nicht mehr arbeiten koennen. Welche Moeglichkeiten habe ich als Administrator, dessen Server gerade abgestuerzt ist oder einfach nicht mehr reagiert? Da gibt es natuerlich den Klassiker frei nach den Simpsons. Ein Hinweis auf &quot;Schau mal da hinten der Hund! Der wedelt mit dem Schwanz!&quot; und dem anschliessenden Geraeusch eines startenden Flugzeuges. Da viele von uns aber Familie haben gehen wir den harten und ehrlichen Weg. Wir stellen uns dem Problem.&lt;br /&gt;
&lt;br /&gt;
Hier gibt es einige Punkte, die einem helfen koennen die Situation ohne Herzklappenabriss zu bestehen. Das wichtigste ist immer die &lt;strong&gt;Ruhe zu bewahren&lt;/strong&gt;! Das sagt sich oft so locker und ist sicher nicht leicht, wenn um einen herum die Anwender/Vorgesetzten stehen und einen mit panischen und (in dem Moment) stoerenden Fragen immer wieder aus der Arbeit reissen. Was uns zu einem weiteren Punkt bringt, der hilft die Ruhe zu bewahren.&lt;br /&gt;
&lt;br /&gt;
Sorgt dafuer, dass ihr euch auf das Problem konzentrieren koennt indem ihr alle &lt;strong&gt;Leute raus werft&lt;/strong&gt;, die nicht zur Loesung des Problems beitragen koennen. Das kann man freundlich aber bestimmt machen. Ich habe bei einem Problem auch schon mal einen Vorgesetzten mit den Worten &quot;Wenn Sie mich nicht alle fuenf Minuten unterbrechen wuerden, waere ich schon ein Stueck weiter&quot; dazu gebracht mich alleine zu lassen. Natuerlich habe ich meinem Vorgesetzten spaeter auch noch mal erklaert, um was es mir ging und dass es eben niemandem hilft, wenn ich alle fuenf Minuten den Stand der Situation erklaeren muss. Er hat es dann auch verstanden, auch wenn er nach meinen Rauswurf doch einen leicht roten Kopf hatte. Damit kann man natuerlich auch mal auf die Nase fallen. Aber auch der Kollege hier, der Dirk, hatte sich mal bei einer groesseren Stoerung gegenueber einem weiter ueber ihm stehenden Vorgesetzten entsprechend geaeussert.&lt;br /&gt;
&lt;br /&gt;
Nicht vergessen sollte man in dem Zusammenhang so Dinge wie das Telefon. Wenn moeglich leitet nach Absprache euren Apparat auf einen Kollegen, den Chef oder, wenn es das gibt, das Service Center um. Der Kollege kann auch als Ergaenzung die Kommunikation in Richtung Anwender uebernehmen.&lt;br /&gt;
&lt;br /&gt;
Kommen wir zum dritten Punkt, der wiederum prima am vorherigen Punkt anschliesst. Die &lt;strong&gt;Kommunikation&lt;/strong&gt;! Vielen Leuten ist nicht klar, wie wichtig Kommunikation ist. Man selber merkt das aber oft selber, wenn man auf etwas wartet und es wird nichts kommuniziert. Sei es, dass man auf einem Amt wartet der Naechste zu sein. Oder sei es am Rechner, wo einem, wie beispielsweise bei dem Linux &lt;code&gt;cp&lt;/code&gt; kein Balken anzeigt, wie weit er mit dem Kopieren der 10.000 Dateien ist. Das ist der Grund,  &lt;br /&gt;
weshalb man &lt;code&gt;rsync -P&lt;/code&gt; statt &lt;code&gt;cp&lt;/code&gt; benutzt.&lt;br /&gt;
&lt;br /&gt;
Es steht ausser Frage, dass die Prozentangaben (Dirk hatte da auch eben noch was &lt;a href=&quot;http://www.deimeke.net/dirk/blog/index.php?/archives/2856-Fertigstellung-in-Prozent-....html&quot; title=&quot;Fertigstellung in Prozent ... | Dirks Logbuch&quot;&gt;in seinem Blog&lt;/a&gt;) im Grunde Stuss sind. Aber sie geben einem erst einmal ein gutes Gefuehl. Und das braucht auch der Anwender und der Vorgesetzte. Die Betroffenen muessen das Gefuehl bekommen, dass sich da jemand kuemmert. Daher schreibe ich gerne mal eine Statusmail. Da verzichte ich auf die Angabe von Zeiten, so ich diese nicht vernuenftig einschaetzen kann. Aber ich gebe durch, was ich gemacht habe und was noch fuer Schritte fehlen. Das mache ich uebrigens auch bei Projekten, die sich ueber einen laengeren Zeitraum hinziehen. Jede Woche eine kleine Statusmail an den Auftraggeber. Das dauert fuenf Minuten, gibt dem Auftraggeber aber das Gefuehl, dass sein Thema/Auftrag noch in der Bearbeitung ist.&lt;br /&gt;
&lt;br /&gt;
Was haben wir noch? &lt;br /&gt;
&lt;br /&gt;
Aus meiner Sicht fehlen hier noch drei Punkte. Zum einen die &lt;strong&gt;Systemdokumentation&lt;/strong&gt;. Ab einer bestimmten Anzahl von betreuten Systemen kann ich nicht alles im Kopf behalten. Da ist eine Dokumentation erforderlich. Wichtig ist also zu wissen, wo ich die diese finde und... wo ich die Replik der Informationen finde. Denn es kann ja auch passieren, dass der Server weg ist, auf dem die benoetigten Dokumente liegen. Und bitte nicht auf die Dokumentation bestimmter Prozesse oder Punkte verzichten, weil es da einen prima Link im Internet gibt. Das Internet koennte am Arbeitsplatz auch mal nicht funktionieren.&lt;br /&gt;
&lt;br /&gt;
Des Weiteren finde ich es immer hilfreich eine &lt;strong&gt;Liste der moeglichen Ansprechpartner&lt;/strong&gt; zu haben. Das betrifft sowohl die internen Kollegen, als auch die Personen beim Dienstleister oder Hersteller. Bei den internen Kollegen handelt es sich durchaus nicht nur um Techniker. Gibt es auch ein IT-Stoerungsmanagement? Einen Ansprechpartner im Fachbereich, welche die Anwendung nutzt?&lt;br /&gt;
&lt;br /&gt;
Abschliessend gibt es noch eine Uebersicht moeglicher &lt;strong&gt;Vertragsdetails&lt;/strong&gt;. Aus denen kann ich dann alles entnehmen, was beispielsweise fuer den Austausch von defekter Hardware oder zur Ticketerstellung benoetigt wird.&lt;br /&gt;
&lt;br /&gt;
Als Ergaenzung sei fuer die Zukunft auf jeden Fall noch ein Punkt empfohlen. Die &lt;strong&gt;Nacharbeit&lt;/strong&gt;! Ich moechte wissen, was zum Ausfall eines Systems gefuehrt hat und es abstellen. Ich moechte auch pruefen, wo meine Vorgehensweise noch verbessert werden kann. Alleine schon um beim naechsten Problem besser vorbereitet zu sein und den Anwender schnell(er) wieder ans Arbeiten zu bekommen. 
    </content:encoded>

    <pubDate>Fri, 25 Nov 2011 09:00:00 +0100</pubDate>
    <guid isPermaLink="false">http://adminstories.de/index.php?/archives/105-guid.html</guid>
    <category>Bewaehrtes</category>

</item>
<item>
    <title>KW 2011/46 - Fundstuecke</title>
    <link>http://adminstories.de/index.php?/archives/102-KW-201146-Fundstuecke.html</link>
            <category>Schnippsel</category>
    
    <comments>http://adminstories.de/index.php?/archives/102-KW-201146-Fundstuecke.html#comments</comments>
    <wfw:comment>http://adminstories.de/wfwcomment.php?cid=102</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://adminstories.de/rss.php?version=2.0&amp;type=comments&amp;cid=102</wfw:commentRss>
    

    <author>nospam@example.com (Dirk Deimeke)</author>
    <content:encoded>
    &lt;strong&gt;Kalenderwoche 46, 14.-20.11.2011&lt;/strong&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://kuehnast.com/s9y/&quot; title=&quot;Out Of Kervenheim&quot;&gt;Charly Kuehnast&lt;/a&gt; hat mir auf der &lt;a href=&quot;http://openrheinruhr.de/&quot; title=&quot;  OpenRheinRuhr&quot;&gt;OpenRheinRuhr&lt;/a&gt; von &lt;a href=&quot;http://postfixadmin.sourceforge.net/&quot; title=&quot;Postfix Admin - Web based administration interface&quot;&gt;Postfix Admin&lt;/a&gt; erzaehlt. Das muss ich mir fuer unsere root-Server mal naeher anschauen. 
    </content:encoded>

    <pubDate>Mon, 21 Nov 2011 00:00:00 +0100</pubDate>
    <guid isPermaLink="false">http://adminstories.de/index.php?/archives/102-guid.html</guid>
    <category>Schnippsel</category>

</item>
<item>
    <title>Migration von Subversion nach Git</title>
    <link>http://adminstories.de/index.php?/archives/103-Migration-von-Subversion-nach-Git.html</link>
            <category>Anleitungen</category>
    
    <comments>http://adminstories.de/index.php?/archives/103-Migration-von-Subversion-nach-Git.html#comments</comments>
    <wfw:comment>http://adminstories.de/wfwcomment.php?cid=103</wfw:comment>

    <slash:comments>4</slash:comments>
    <wfw:commentRss>http://adminstories.de/rss.php?version=2.0&amp;type=comments&amp;cid=103</wfw:commentRss>
    

    <author>nospam@example.com (Dirk Deimeke)</author>
    <content:encoded>
    Aus verschiedenen Gruenden wollte ich unsere &lt;a href=&quot;https://secure.wikimedia.org/wikipedia/de/wiki/Apache_Subversion&quot; title=&quot;&quot;&gt;Subversion&lt;/a&gt;-Repositories nach &lt;a href=&quot;https://secure.wikimedia.org/wikipedia/de/wiki/Git&quot; title=&quot;&quot;&gt;Git&lt;/a&gt; migrieren. Die Entscheidung dafuer war unabhaengig davon, dass zwei Projekte, naemlich &lt;a href=&quot;http://michael-prokop.at/blog/2011/11/05/fai-switch-from-subversion-to-git/&quot; title=&quot;mikas blog  &amp;raquo; Blog Archive   &amp;raquo; FAI: switch from Subversion to Git&quot;&gt;FAI&lt;/a&gt; und &lt;a href=&quot;http://blog.s9y.org/archives/236-Details-about-the-GitHub-migration-process,-developers-please-read!.html&quot; title=&quot;Details about the GitHub migration process, developers please read!  - Serendipity&quot;&gt;Serendipity&lt;/a&gt;, etwa zur gleichen Zeit migriert sind.&lt;br /&gt;
&lt;br /&gt;
Git ist ein &lt;a href=&quot;https://secure.wikimedia.org/wikipedia/de/wiki/Verteiltes_Versionskontrollsystem#Verteilte_Versionsverwaltung&quot; title=&quot;&quot;&gt;verteiltes Versionskontrollsystem&lt;/a&gt; (DVCS) - in der gleichen Liga spielen auch &lt;a href=&quot;https://secure.wikimedia.org/wikipedia/de/wiki/Bazaar&quot; title=&quot;&quot;&gt;Bazaar&lt;/a&gt; und &lt;a href=&quot;https://secure.wikimedia.org/wikipedia/de/wiki/Mercurial&quot; title=&quot;&quot;&gt;Mercurial&lt;/a&gt;, wobei das &quot;verteilt&quot; nicht der Grund fuer den Wechsel war. Neben der komprimierten Speicherung und bandbreitenschonenden Uebertragung, spielen die neuen Systeme ihre Staerken vor allem im intelligenten Zusammenfuehren (merging) von unterschiedlichen Versionen aus.&lt;br /&gt;
&lt;br /&gt;
Weitere Vorteile sind (die Liste ist nicht komplett):&lt;br /&gt;
&amp;bull; Es gibt kaum ein System, was besser dokumentiert waere.&lt;br /&gt;
&amp;bull; Kleinerer Administrationsaufwand.&lt;br /&gt;
&amp;bull; Sparen eines Apache-Moduls&lt;br /&gt;
&amp;bull; Alle haben die komplette Historie lokal und koennen auch ohne Server arbeiten.&lt;br /&gt;
&amp;bull; Alle koennen beliebig oft lokal committen und alle Aenderungen erst dann uebertragen, wenn der eigene Teil fertig ist.&lt;br /&gt;
&lt;br /&gt;
Einen sehr guten Einstieg in verteilte Versionskontrollsysteme und insbesondere Git bietet die &lt;a href=&quot;http://chaosradio.ccc.de/cre130.html&quot; title=&quot;CRE130 Verteilte Versionskontrollsysteme | CRE: Technik, Kultur, Gesellschaft&quot;&gt;Ausgabe 130 von Chaosradio Express&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
Subversion wurde bei uns ueber &lt;code&gt;dav_svn&lt;/code&gt;, ein Modul des Webservers, benutzt. Die Migration musste also in drei Schritten passieren, zuerst die Serverseite, um die Infrastruktur zur Verfügung zu stellen, danach die Migration der bestehenden Projekte und zum Schluss die Umstellung der Clients.&lt;br /&gt;
&lt;br /&gt;
Da Taskwarrior &lt;a href=&quot;https://github.com/mzupan/gitosis&quot; title=&quot;mzupan/gitosis · GitHub&quot;&gt;Gitosis&lt;/a&gt; einsetzt und ich so immer jemanden habe, den ich fragen kann, habe ich mich fuer Gitosis auf der Serverseite entschieden. Dafuer gibt es bereits eine &lt;a href=&quot;http://netzaffe.de/git-gitosis-gitweb-the-debian-way.html&quot; title=&quot;Git, Gitosis, Gitweb (the Debian way) | netzaffe.de&quot;&gt;sehr gute Anleitung&lt;/a&gt;, die ich leider ziemlich unuebersichtlich finde, daher fuehre ich hier noch einmal die einzelnen Schritte auf. Unsere Server laufen auf Ubuntu 10.04 LTS und ich bin strikt nach Anleitung vorgegangen.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;bash geshi&quot; style=&quot;text-align: left&quot;&gt;&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;sudo&lt;/span&gt; &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;aptitude&lt;/span&gt; &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;install&lt;/span&gt; git-core gitosis&lt;/div&gt; &lt;br /&gt;
Erzeugt einen User &quot;gitosis&quot; und die nötigen Verzeichnisse unter &lt;code&gt;/srv/gitosis&lt;/code&gt;&lt;br /&gt;
&lt;br /&gt;
Danach muss ich den eigenen oeffentlichen SSH-Schluessel auf den Server kopieren und damit das Administrations-Repository initialisieren (darin wird die ganze Konfiguration gemacht).&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;bash geshi&quot; style=&quot;text-align: left&quot;&gt;dirk&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;@&lt;/span&gt;client$ &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;scp&lt;/span&gt; .ssh&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;id_rsa.pub server:&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;tmp&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;dirk&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;@&lt;/span&gt;client.pub&lt;br /&gt;dirk&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;@&lt;/span&gt;server$ &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;sudo&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-H&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-u&lt;/span&gt; gitosis gitosis-init &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;tmp&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;dirk&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;@&lt;/span&gt;client.pub&lt;/div&gt;&lt;br /&gt;
Damit ist die serverseitige Einrichtung bereits abgeschlossen. Unglaublich aber wahr.&lt;br /&gt;
&lt;br /&gt;
Was nicht in der Anleitung steht, jetzt aber lokal erledigt werden sollte, da commits in Git immer Usernamen und E-Mail-Adresse enthalten:&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;bash geshi&quot; style=&quot;text-align: left&quot;&gt;git config &lt;span style=&quot;color: #660033;&quot;&gt;--global&lt;/span&gt; user.name &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;John Doe&amp;quot;&lt;/span&gt; &lt;br /&gt;git config &lt;span style=&quot;color: #660033;&quot;&gt;--global&lt;/span&gt; user.email &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;john@doe.com&amp;quot;&lt;/span&gt; &lt;br /&gt;git config &lt;span style=&quot;color: #660033;&quot;&gt;--global&lt;/span&gt; color.ui always&lt;/div&gt;&lt;br /&gt;
Der letzte Befehl ist nicht wichtig, der macht es nur huebsch.&lt;br /&gt;
&lt;br /&gt;
Jetzt kann das gerade angelegte Adminrepository ausgechecked werden:&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;bash geshi&quot; style=&quot;text-align: left&quot;&gt;git clone gitosis&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;@&lt;/span&gt;server:gitosis-admin.git gitosis-admin-server.git&lt;/div&gt;&lt;br /&gt;
Das letzte in der Kommandozeile ist der Name, wie das Verzeichnis lokal heissen soll. Ich habe ein &quot;-server.git&quot; hinzugefügt, da das Verzeichnis sonst nur &quot;gitosis-admin&quot; geheissen haette.&lt;br /&gt;
&lt;br /&gt;
Jetzt können der Admingruppe weitere User hinzugefügt werden.&lt;br /&gt;
&lt;br /&gt;
In &lt;code&gt;gitosis.conf&lt;/code&gt; stand am Anfang nur &lt;code&gt;dirk@client&lt;/code&gt;:&lt;br /&gt;
&lt;br /&gt;
&lt;code&gt;[group gitosis-admin]&lt;br /&gt;
writable = gitosis-admin&lt;br /&gt;
members = dirk@client dirk@workstation&lt;/code&gt;&lt;br /&gt;
&lt;br /&gt;
Im Verzeichnis &lt;code&gt;keydir&lt;/code&gt; sind die ganzen Schluessel zu finden. &lt;code&gt;dirk@client.pub&lt;/code&gt; war schon vorher enthalten.&lt;br /&gt;
&lt;br /&gt;
&lt;code&gt;ls -l keydir/&lt;br /&gt;
total 12&lt;br /&gt;
-rw-r--r-- 1 dirk dirk 393 Nov  4 10:50 dirk@client.pub&lt;br /&gt;
-rw-r--r-- 1 dirk dirk 395 Nov  4 10:54 dirk@workstation.pub&lt;/code&gt;&lt;br /&gt;
&lt;br /&gt;
Die Aenderungen werden jetzt an den Server uebertragen.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;bash geshi&quot; style=&quot;text-align: left&quot;&gt;git add keydir&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;dirk&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;@&lt;/span&gt;workstation.pub&lt;br /&gt;git commit &lt;span style=&quot;color: #660033;&quot;&gt;-a&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-m&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;User dirk@workstation hinzugefuegt&amp;quot;&lt;/span&gt;&lt;br /&gt;git push&lt;/div&gt;&lt;br /&gt;
Git verhaelt sich ein bisschen anders als Subversion.&lt;br /&gt;
&lt;br /&gt;
&amp;bull; Bei einem &quot;git commit&quot; passiert gar nichts, auch wenn sich Dateien veraendert haben.&lt;br /&gt;
&amp;bull; git add datei ; git commit -m &quot;nachricht&quot; oder git commit -a -m &quot;nachricht&quot; &lt;br /&gt;
&amp;bull; letzterer nimmt alle Dateien in den Commit, die bereits unter Versionskontrolle stehen und sich veraendert haben&lt;br /&gt;
&amp;bull; Der Commit ist lokal, erst &quot;git push&quot; uebertraegt die Änderungen zum Server&lt;br /&gt;
&amp;bull; Analog dazu synchronisiert sich &quot;git pull&quot; mit dem Server &lt;br /&gt;
&lt;br /&gt;
Ein neues Repository auf dem Server legt man wie folgt an. Zuerst traegt man es in die gitosis.conf ein.&lt;br /&gt;
&lt;br /&gt;
&lt;code&gt;[group playground]&lt;br /&gt;
writable = playground&lt;br /&gt;
members = dirk@client dirk@workstation&lt;/code&gt;&lt;br /&gt;
&lt;br /&gt;
Danach uebertraegt man die neue Konfiguration auf den Server.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;bash geshi&quot; style=&quot;text-align: left&quot;&gt;$ git commit &lt;span style=&quot;color: #660033;&quot;&gt;-a&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-m&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;playground erzeugt&amp;quot;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#91;&lt;/span&gt;master 8a62406&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#93;&lt;/span&gt; playground erzeugt&lt;br /&gt;&amp;#160;&lt;span style=&quot;color: #000000;&quot;&gt;1&lt;/span&gt; files changed, &lt;span style=&quot;color: #000000;&quot;&gt;4&lt;/span&gt; insertions&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#40;&lt;/span&gt;+&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt;, &lt;span style=&quot;color: #000000;&quot;&gt;0&lt;/span&gt; deletions&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#40;&lt;/span&gt;-&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;$ git push&lt;br /&gt;Counting objects: &lt;span style=&quot;color: #000000;&quot;&gt;5&lt;/span&gt;, done.&lt;br /&gt;Delta compression using up to &lt;span style=&quot;color: #000000;&quot;&gt;4&lt;/span&gt; threads.&lt;br /&gt;Compressing objects: &lt;span style=&quot;color: #000000;&quot;&gt;100&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;%&lt;/span&gt; &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;3&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;3&lt;/span&gt;&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt;, done.&lt;br /&gt;Writing objects: &lt;span style=&quot;color: #000000;&quot;&gt;100&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;%&lt;/span&gt; &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;3&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;3&lt;/span&gt;&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt;, &lt;span style=&quot;color: #000000;&quot;&gt;375&lt;/span&gt; bytes, done.&lt;br /&gt;Total &lt;span style=&quot;color: #000000;&quot;&gt;3&lt;/span&gt; &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#40;&lt;/span&gt;delta &lt;span style=&quot;color: #000000;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt;, reused &lt;span style=&quot;color: #000000;&quot;&gt;0&lt;/span&gt; &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#40;&lt;/span&gt;delta &lt;span style=&quot;color: #000000;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;To gitosis&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;@&lt;/span&gt;foo:gitosis-admin.git&lt;br /&gt;&amp;#160; &amp;#160;4755284..8a62406 &amp;#160;master -&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;&lt;/span&gt; master&lt;/div&gt;&lt;br /&gt;
Wir initialisieren das Repositories (ebenfalls lokal):&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;bash geshi&quot; style=&quot;text-align: left&quot;&gt;$ git clone gitosis&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;@&lt;/span&gt;server:playground.git playground-server.git&lt;br /&gt;Cloning into playground-server.git...&lt;br /&gt;Initialized empty Git repository &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;in&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;srv&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;gitosis&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;repositories&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;playground.git&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;&lt;br /&gt;warning: You appear to have cloned an empty repository.&lt;br /&gt;&lt;br /&gt;$ &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;cd&lt;/span&gt; playground-foo.git&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;$ &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;touch&lt;/span&gt; foo&lt;br /&gt;&lt;br /&gt;$ git add .&lt;br /&gt;&lt;br /&gt;$ git commit &lt;span style=&quot;color: #660033;&quot;&gt;-m&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;init&amp;quot;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#91;&lt;/span&gt;master &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#40;&lt;/span&gt;root-commit&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt; 8b70e1d&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#93;&lt;/span&gt; init&lt;br /&gt;&amp;#160;&lt;span style=&quot;color: #000000;&quot;&gt;0&lt;/span&gt; files changed, &lt;span style=&quot;color: #000000;&quot;&gt;0&lt;/span&gt; insertions&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#40;&lt;/span&gt;+&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt;, &lt;span style=&quot;color: #000000;&quot;&gt;0&lt;/span&gt; deletions&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#40;&lt;/span&gt;-&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;&amp;#160;create mode &lt;span style=&quot;color: #000000;&quot;&gt;100644&lt;/span&gt; server&lt;br /&gt;&lt;br /&gt;$ git push origin master&lt;br /&gt;Counting objects: &lt;span style=&quot;color: #000000;&quot;&gt;3&lt;/span&gt;, done.&lt;br /&gt;Writing objects: &lt;span style=&quot;color: #000000;&quot;&gt;100&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;%&lt;/span&gt; &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;3&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;3&lt;/span&gt;&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt;, &lt;span style=&quot;color: #000000;&quot;&gt;197&lt;/span&gt; bytes, done.&lt;br /&gt;Total &lt;span style=&quot;color: #000000;&quot;&gt;3&lt;/span&gt; &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#40;&lt;/span&gt;delta &lt;span style=&quot;color: #000000;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt;, reused &lt;span style=&quot;color: #000000;&quot;&gt;0&lt;/span&gt; &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#40;&lt;/span&gt;delta &lt;span style=&quot;color: #000000;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;To gitosis&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;@&lt;/span&gt;server:playground.git&lt;br /&gt;&amp;#160;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;*&lt;/span&gt; &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#91;&lt;/span&gt;new branch&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#93;&lt;/span&gt; &amp;#160; &amp;#160; &amp;#160;master -&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;&lt;/span&gt; master&lt;/div&gt;&lt;br /&gt;
Nachdem das alles funktioniert, koennen die Subversion-Repositories migriert werden, &lt;a href=&quot;http://progit.org/book/ch8-2.html&quot; title=&quot;Git&quot;&gt;Anleitung&lt;/a&gt; dazu im freien &lt;a href=&quot;http://progit.org/book/&quot; title=&quot;Git - Book&quot;&gt;Buch Pro Git&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
Subversion nutzt Usernamen um die Commits zu kennzeichnen, Git nutzt reale Namen und E-Mail-Adressen, damit ist der erste Schritt klar, wir brauchen eine Liste der User, die schon in unser Repository geschrieben haben und muessen diese mit Realnamen abgleichen.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;bash geshi&quot; style=&quot;text-align: left&quot;&gt;$ &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;svn&lt;/span&gt; log &lt;span style=&quot;color: #660033;&quot;&gt;--xml&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;|&lt;/span&gt; &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;grep&lt;/span&gt; author &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;|&lt;/span&gt; &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;sort&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-u&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;|&lt;/span&gt; &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;perl&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-pe&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&#039;s/.&amp;gt;(.?)&amp;lt;./$1 = /&#039;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
Mit dem obigen Befehl bekommt man alle Committer aus einem Subversion-Repository, damit laesst sich eine Datei &lt;code&gt;users.txt&lt;/code&gt; aufbauen, in der die Usernamen und die Git-Namen zu finden sind. Ich habe das auch zur Konsolidierrung benutzt.&lt;br /&gt;
&lt;br /&gt;
&lt;code&gt;dirk = Dirk Deimeke &amp;lt;dirk@deimeke.net&amp;gt;&lt;br /&gt;
lux = Dirk Deimeke &amp;lt;dirk@deimeke.net&amp;gt;&lt;br /&gt;
user = Vorname Nachname &amp;lt;name@example.com&amp;gt;&lt;/code&gt;&lt;br /&gt;
&lt;br /&gt;
Mit dieser Vorarbeit ist es bereits moeglich, das Subversion-Repository zu klonen und zu konvertieren (ACHTUNG: Unterschied zum Buch, bei mir hat die Option &lt;code&gt;-s&lt;/code&gt; nicht funktioniert, da ich kein Standard-Layout verwendet habe und statt &lt;code&gt;git-svn&lt;/code&gt; habe ich &lt;code&gt;git svn&lt;/code&gt; benutzt).&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;bash geshi&quot; style=&quot;text-align: left&quot;&gt;$ git &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;svn&lt;/span&gt; clone http:&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;//&lt;/span&gt;my-project.googlecode.com&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;svn&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt; \&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #660033;&quot;&gt;--authors-file&lt;/span&gt;=users.txt &lt;span style=&quot;color: #660033;&quot;&gt;--no-metadata&lt;/span&gt; my_project&lt;/div&gt;&lt;br /&gt;
Jetzt gilt es noch, Aufraeumarbeiten durchzufuehren. Zuerst machen wir aus den Tags von Subversion Git Tags.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;bash geshi&quot; style=&quot;text-align: left&quot;&gt;$ &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;cp&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-Rf&lt;/span&gt; .git&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;refs&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;remotes&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;tags&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/*&lt;/span&gt; .git&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;refs&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;tags&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;&lt;br /&gt;$ &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;rm&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-Rf&lt;/span&gt; .git&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;refs&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;remotes&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;tags&lt;/div&gt;&lt;br /&gt;
Als naechstes machen wir aus den remote Referenzen lokale Branches:&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;bash geshi&quot; style=&quot;text-align: left&quot;&gt;$ &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;cp&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-Rf&lt;/span&gt; .git&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;refs&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;remotes&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/*&lt;/span&gt; .git&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;refs&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;heads&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;&lt;br /&gt;$ &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;rm&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-Rf&lt;/span&gt; .git&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;refs&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;remotes&lt;/div&gt;&lt;br /&gt;
So, jetzt muessen wir das ganze noch hochladen.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;bash geshi&quot; style=&quot;text-align: left&quot;&gt;$ git remote add origin git&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;@&lt;/span&gt;my-git-server:myrepository.git&lt;/div&gt;&lt;br /&gt;
Und, weil wir alles uebertragen wollen, geht es mit dem folgenden Kommando los:&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;bash geshi&quot; style=&quot;text-align: left&quot;&gt;$ git push origin &lt;span style=&quot;color: #660033;&quot;&gt;--all&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
Fertig!&lt;br /&gt;
&lt;br /&gt;
Ich hatte bei der Migration mit einem groesseren Problem zu kaempfen. Mein privates Repository hat ueber 2000 commits und einige Gigabytes an Daten. Das hat meinen lokalen Rechner in die Knie gezwungen, da waren 4 GB Speicher zu knapp. Ich habe die Migration kurzerhand auf einem Server mit 8 GB RAM laufen lassen, das ging. Alternativ dazu kann man aber mit &lt;code&gt;git-svn&lt;/code&gt; die Migration haeppchenweise durchfuehren. Mit &lt;code&gt;git svn clone -r0:100&lt;/code&gt; (und den anderen Optionen weiter oben) werden nur die ersten 100 Commits geklont, dann macht man mit &lt;code&gt;-r100:200&lt;/code&gt; weiter bis man letztendlich fertig ist.&lt;br /&gt;
&lt;br /&gt;
Es gibt einen sehr guten &lt;a href=&quot;http://git.or.cz/course/svn.html&quot; title=&quot;Git - SVN Crash Course&quot;&gt;Git - SVN Crash Course&lt;/a&gt;, daher fuehre ich hier nur die Unterschiede der haeufigsten Kommandos an.&lt;br /&gt;
&lt;br /&gt;
&amp;bull; git clone ersetzt svn checkout&lt;br /&gt;
&amp;bull; git pull ersetzt svn update&lt;br /&gt;
&amp;bull; git add mach das gleiche wie svn add&lt;br /&gt;
&amp;bull; git commit -a (oder git commit -am) ersetzt svn commit bzw. svn commit -m&lt;br /&gt;
&amp;bull; UNTERSCHIED: git push uebertraegt die lokalen Commits erst auf den Server 
    </content:encoded>

    <pubDate>Fri, 18 Nov 2011 09:00:00 +0100</pubDate>
    <guid isPermaLink="false">http://adminstories.de/index.php?/archives/103-guid.html</guid>
    <category>Anleitungen</category>

</item>
<item>
    <title>KW 2011/45 - Fundstuecke</title>
    <link>http://adminstories.de/index.php?/archives/100-KW-201145-Fundstuecke.html</link>
            <category>Schnippsel</category>
    
    <comments>http://adminstories.de/index.php?/archives/100-KW-201145-Fundstuecke.html#comments</comments>
    <wfw:comment>http://adminstories.de/wfwcomment.php?cid=100</wfw:comment>

    <slash:comments>14</slash:comments>
    <wfw:commentRss>http://adminstories.de/rss.php?version=2.0&amp;type=comments&amp;cid=100</wfw:commentRss>
    

    <author>nospam@example.com (Dirk Deimeke)</author>
    <content:encoded>
    &lt;strong&gt;Kalenderwoche 45, 07.-13.11.2011&lt;/strong&gt;&lt;br /&gt;
&lt;br /&gt;
Schon ein paar Tage alt, konnte es aber die Tage brauchen. Der Wuerschtlmann hat mal eine &lt;a href=&quot;http://dbudwm.wordpress.com/tag/encfs/&quot; title=&quot;encfs &amp;laquo; Der Bayer und der Würschtlmann&quot;&gt;kleine Anleitung&lt;/a&gt; geschrieben, wie man mit &lt;a href=&quot;http://www.google.de/url?sa=t&amp;amp;rct=j&amp;amp;q=encfs&amp;amp;source=web&amp;amp;cd=2&amp;amp;ved=0CC8QFjAB&amp;amp;url=http%3A%2F%2Fwww.arg0.net%2Fencfs&amp;amp;ei=Ot6_TqKjMsmCOuGl_NwB&amp;amp;usg=AFQjCNEf2WBGSmrfQEUTafePvtEiqROsoA&amp;amp;cad=rja&quot; title=&quot;Weiterleitungshinweis&quot;&gt;encfs&lt;/a&gt; Dateien verschluesselt. Das kann auch prima auf so Dinge wie Dropbox angewendet werden. 
    </content:encoded>

    <pubDate>Mon, 14 Nov 2011 00:00:00 +0100</pubDate>
    <guid isPermaLink="false">http://adminstories.de/index.php?/archives/100-guid.html</guid>
    <category>Schnippsel</category>

</item>
<item>
    <title>Einrichten eines Syslog Servers</title>
    <link>http://adminstories.de/index.php?/archives/101-Einrichten-eines-Syslog-Servers.html</link>
            <category>Anleitungen</category>
    
    <comments>http://adminstories.de/index.php?/archives/101-Einrichten-eines-Syslog-Servers.html#comments</comments>
    <wfw:comment>http://adminstories.de/wfwcomment.php?cid=101</wfw:comment>

    <slash:comments>3</slash:comments>
    <wfw:commentRss>http://adminstories.de/rss.php?version=2.0&amp;type=comments&amp;cid=101</wfw:commentRss>
    

    <author>nospam@example.com (Ramon Kukla)</author>
    <content:encoded>
    Moeglicherweise ist ja Interesse an dem was ich die Tage eingerichtet habe. Es ging darum, dass ein Server installiert werden sollte, der Syslog Meldungen sammelt. Ich, als jemand der es gerne auch etwas sicherer hat, habe da auch an verschiedenen Stellen einiges &quot;optimiert&quot;, um Zugriff durch Unbefugte zu erschweren. Da durchaus mit einer groesseren Menge von Logs zu rechnen ist (&gt;20.000/h), wollte ich, dass alles gleich in eine Datenbank laueft.&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;Basisinstallation und SSH&lt;/strong&gt;&lt;br /&gt;
Begonnen habe ich mit der Basisinstallation eines Ubuntu 10.04.3 LTS. Da SSH eines der Administrationszugaenge ist, lege ich da natuerlich Wert auf eine ordentliche Konfiguration. Also die /etc/sshd_config geoeffnet und dort folgendes angepasst (Erklaerungen fuege ich mal aus der &lt;a href=&quot;http://www.openbsd.org/cgi-bin/man.cgi?query=sshd_config&amp;amp;sektion=5&quot; title=&quot;Manual Pages: sshd_config&quot;&gt;man-Page&lt;/a&gt; hinzu).&lt;br /&gt;
&lt;br /&gt;
&lt;code&gt;# The server disconnects after this time if the user has not successfully logged in.&lt;br /&gt;
LoginGraceTime 60&lt;br /&gt;
&lt;br /&gt;
# Specifies whether root can log in using ssh(1).&lt;br /&gt;
PermitRootLogin no&lt;br /&gt;
&lt;br /&gt;
# Specifies the maximum number of concurrent unauthenticated connections to the SSH daemon.&lt;br /&gt;
MaxStartups 3:50:10&lt;br /&gt;
&lt;br /&gt;
# Wohl selbst erklaerend&lt;br /&gt;
AllowUsers ramon&lt;/code&gt;&lt;br /&gt;
&lt;br /&gt;
Ergaenzend empfehle ich auch noch &lt;code&gt;PasswordAuthentication no&lt;/code&gt; zu setzen. Voraussetzung dafuer ist allerdings, dass man fuer alle berechtigen Benutzer die Anmeldung via SSH-Keys eingerichtet hat.&lt;br /&gt;
&lt;br /&gt;
Des Weiteren kann man auch, bei Einsatz von mehreren Netzwerkkarten, den SSH-Daemon mit dem Schluesselwort &lt;code&gt;ListenAddress&lt;/code&gt; an ein Interface binden. Leider hat das bei mir dazu gefuehrt, dass der Daemon nach dem Neustart des Servers nicht automatisch mit startete. Sehr seltsam.&lt;br /&gt;
&lt;br /&gt;
Davon, den Port von 22 auf einen anderen Port zu legen, halte ich persoenlich nichts. Ich betreue einige Server im privaten und beruflichen Umfeld. Wenn da jeder seinen eigenen Port verwenden wuerde, wuerde ich ja verrueckt werden :) Ausserdem sehe ich hier keinen wirklichen Gewinn an Sicherheit. Aber das ist natuerlich subjektiv.&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;Das Netzwerk&lt;/strong&gt;&lt;br /&gt;
Um zumindest noch eine weitere Huerde einzubauen habe ich ueber &lt;code&gt;/etc/hosts.deny&lt;/code&gt; und &lt;code&gt;/etc/hosts.allow&lt;/code&gt; den Zugriff auf ssh etwas weiter reglementiert.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;bash geshi&quot; style=&quot;text-align: left&quot;&gt;root&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;@&lt;/span&gt;server:&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;etc&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;# cat /etc/hosts.deny&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;# /etc/hosts.deny: list of hosts that are &lt;u&gt;not&lt;/u&gt; allowed to access the system.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;# &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160;See the manual pages hosts_access(5) and hosts_options(5).&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;#&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;# Example: &amp;#160; &amp;#160;ALL: some.host.name, .some.domain&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;# &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; ALL EXCEPT in.fingerd: other.host.name, .other.domain&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;#&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;sshd: ALL&lt;br /&gt;&lt;br /&gt;root&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;@&lt;/span&gt;server:&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;etc&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;# cat /etc/hosts.allow&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;# /etc/hosts.allow: list of hosts that are allowed to access the system.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;# &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; See the manual pages hosts_access(5) and hosts_options(5).&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;#&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;# Example: &amp;#160; &amp;#160;ALL: LOCAL @some_netgroup&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;# &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; ALL: .foobar.edu EXCEPT terminalserver.foobar.edu&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;#&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;sshd: 192.168.150.0&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;255.255.255.0&lt;/div&gt;&lt;br /&gt;
&lt;strong&gt;Anmeldung an einem AD&lt;/strong&gt;&lt;br /&gt;
Da die Maschine nicht nur von mir, sondern auch weiteren Anwendern genutzt werden soll, habe ich die Anbindung an ein AD konfiguriert. Das macht es, wenn man beispielsweise keinen Key hat, etwas leichter. Damit koennen sowohl bei der Anmeldung via SSH, aber auch beispielsweise beim sudo, einfach die Windows-Anmeldedaten verwendet werden. Die Einrichtung hierfuer geht relativ flockig von der Hand.&lt;br /&gt;
&lt;br /&gt;
Im Rahmen der Installation der Pakete &lt;code&gt;krb5-user&lt;/code&gt;, &lt;code&gt;krb5-config&lt;/code&gt; und &lt;code&gt;libpam-krb5&lt;/code&gt; werden die wichtigsten Dinge soweit vorbereitet. Sollte, wie bei mir, die Abfrage wegen der Domaindaten nicht kommen kann man die Konfiguration via &lt;code&gt;dpkg-reconfigure krb5-config&lt;/code&gt; nachholen oder die Datei &lt;code&gt;/etc/krb5.conf&lt;/code&gt; von Hand anpassen. Die wichtigen Teile sind hier in &lt;code&gt;&lt;a href=&quot;http://web.mit.edu/kerberos/krb5-1.5/krb5-1.5.4/doc/krb5-admin/libdefaults.html#libdefaults&quot; title=&quot;libdefaults - Kerberos V5 System Administrator&#039;s Guide&quot;&gt;libdefaults&lt;/a&gt;&lt;/code&gt; und &lt;code&gt;&lt;a href=&quot;http://web.mit.edu/kerberos/krb5-1.5/krb5-1.5.4/doc/krb5-admin/realms-_0028krb5_002econf_0029.html#realms-_0028krb5_002econf_0029&quot; title=&quot;realms (krb5.conf) - Kerberos V5 System Administrator&#039;s Guide&quot;&gt;realms&lt;/a&gt;&lt;/code&gt; zu finden.&lt;br /&gt;
&lt;br /&gt;
&lt;code&gt;[libdefaults]&lt;br /&gt;
         default_realm = Domaene&lt;br /&gt;
&lt;br /&gt;
[realms]&lt;br /&gt;
         Domaincontroller = {&lt;br /&gt;
                 kdc = Domaincontroller&lt;br /&gt;
         }&lt;/code&gt;&lt;br /&gt;
&lt;br /&gt;
Als &quot;Domaene&quot; habe ich den Namen der DNS-Domaene eingetragen und bei Domaincontroller den voll qualifizierten Namen eines Domaincontrollers. Damit nun die Anmeldung via SSH auch mit Windows-Anmeldedaten funktioniert muss in der &lt;code&gt;/etc/ssh/&lt;a href=&quot;http://www.openbsd.org/cgi-bin/man.cgi?query=sshd_config&quot; title=&quot;Manual Pages: sshd_config&quot;&gt;sshd_config&lt;/a&gt;&lt;/code&gt; nur noch was angepasst werden.&lt;br /&gt;
&lt;br /&gt;
&lt;code&gt;# Kerberos options&lt;br /&gt;
KerberosAuthentication yes&lt;br /&gt;
KerberosOrLocalPasswd yes&lt;br /&gt;
KerberosTicketCleanup yes&lt;/code&gt;&lt;br /&gt;
&lt;br /&gt;
Bitte nicht vergessen anschliessend dem SSH-Daemon die Konfigurationsaenderung mitzuteilen. Das kann sowohl via &lt;code&gt;service ssh reload&lt;/code&gt;, als auch via &lt;code&gt;service ssh restart&lt;/code&gt; erfolgen. Es funktioniert auch noch ein albekanntes &lt;code&gt;/etc/init.d/ssh restart&lt;/code&gt; bei Ubuntu. Das wird allerdings mit einer entsprechenden Meldung, dass das Script zu einem &lt;a href=&quot;http://upstart.ubuntu.com/getting-started.html&quot; title=&quot;Getting Started - upstart&quot;&gt;Upstart Job&lt;/a&gt; konvertiert wurde, kommentiert.&lt;br /&gt;
&lt;br /&gt;
So, ob die Anmeldung mit AD-Credentials klappt kann man uebrigens auch wie folgt testen.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;bash geshi&quot; style=&quot;text-align: left&quot;&gt;root&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;@&lt;/span&gt;server:~&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;# kinit ramon@Domaene&lt;/span&gt;&lt;br /&gt;Password &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;for&lt;/span&gt; ramon&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;@&lt;/span&gt;Domaene: &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;****&lt;/span&gt;&lt;br /&gt;root&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;@&lt;/span&gt;server:~&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;# klist&lt;/span&gt;&lt;br /&gt;Ticket cache: FILE:&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;tmp&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;krb5cc_0&lt;br /&gt;Default principal: ramon&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;@&lt;/span&gt;Domaene&lt;br /&gt;&lt;br /&gt;Valid starting Expires Service principal&lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt;11&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;10&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;11&lt;/span&gt; &lt;span style=&quot;color: #000000;&quot;&gt;10&lt;/span&gt;:&lt;span style=&quot;color: #000000;&quot;&gt;28&lt;/span&gt;:&lt;span style=&quot;color: #000000;&quot;&gt;51&lt;/span&gt; &lt;span style=&quot;color: #000000;&quot;&gt;11&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;10&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;11&lt;/span&gt; &lt;span style=&quot;color: #000000;&quot;&gt;20&lt;/span&gt;:&lt;span style=&quot;color: #000000;&quot;&gt;27&lt;/span&gt;:&lt;span style=&quot;color: #000000;&quot;&gt;43&lt;/span&gt; krbtgt&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;Domaene&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;@&lt;/span&gt;Domaene&lt;br /&gt;renew &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;until&lt;/span&gt; &lt;span style=&quot;color: #000000;&quot;&gt;11&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;10&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;11&lt;/span&gt; &lt;span style=&quot;color: #000000;&quot;&gt;20&lt;/span&gt;:&lt;span style=&quot;color: #000000;&quot;&gt;28&lt;/span&gt;:&lt;span style=&quot;color: #000000;&quot;&gt;51&lt;/span&gt;&lt;br /&gt;root&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;@&lt;/span&gt;server:~&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;# kdestroy&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;strong&gt;Der Webserver&lt;/strong&gt; &lt;br /&gt;
Da soweit alles fertig ist, kann mit der Installation der eigentlichen Dienste begonnen werden. Aus den Paketquellen habe ich den &lt;a href=&quot;http://httpd.apache.org/&quot; title=&quot;Welcome! - The Apache HTTP Server Project&quot;&gt;Apache-Server&lt;/a&gt; und &lt;a href=&quot;http://www.mysql.de/&quot; title=&quot;MySQL ::  Die popul&amp;auml;rste Open-Source-Datenbank der Welt&quot;&gt;MySQL&lt;/a&gt; installiert. &lt;br /&gt;
&lt;br /&gt;
Bei der Installation der zwei Dienste gibt es nichts besonderes zu beachten. Also einfach ein &lt;code&gt;aptitude install apache2 mysql-client libapache2-mod-php5 php5-mysql&lt;/code&gt; und warten. Die beiden letztgenannten Pakete werden spaeter fuer LogAnalyzer benoetigt. Die Installation ist tatsaechlich relativ unkompliziert. Aber vorab noch schnell den rsyslog konfiguriert.&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;rsyslog&lt;/strong&gt;&lt;br /&gt;
Im Standard ist das Paket rsyslog bereits installiert, so dass wir nur noch, fuer die Nutzung von MySQL, das Paket &lt;code&gt;rsyslog-mysql&lt;/code&gt; nachinstallieren muessen. Hier wird dann auch gleich eine Konfigurationsdatei in &lt;code&gt;/etc/rsyslog.d/&lt;/code&gt; erzeugt, die sich &lt;code&gt;mysql.conf&lt;/code&gt; nennt. Im Rahmen der Paketinstallation kann die Konfiguration der Datenbank auch gleich erledigt werden. Nach Eingabe des Kennwortes fuer den Datenbankadministrator (root) kann ein Kennwort fuer den neuen Benutzer &quot;rsyslog&quot;, der dann Rechte auf der neuen Datenbank &quot;Syslog&quot; haben wird, vergeben werden. Schaut man sich die &lt;code&gt;mysql.conf&lt;/code&gt; anschliessend an, wird man etwas in der nachfolgenden Art finden.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;bash geshi&quot; style=&quot;text-align: left&quot;&gt;root&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;@&lt;/span&gt;server:&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;etc&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;rsyslog.d&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;# cat mysql.conf &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;### Configuration file for rsyslog-mysql&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;### Changes are preserved&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: #007800;&quot;&gt;$ModLoad&lt;/span&gt; ommysql&lt;br /&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;*&lt;/span&gt;.&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;*&lt;/span&gt; :ommysql:localhost,Syslog,rsyslog,rsyslog&lt;/div&gt;&lt;br /&gt;
Damit nun noch Logs angenommen werden muss noch die Datei /etc/rsyslog.conf angepasst werden. Fuer den Anfang reicht es aus, dass man die Module &lt;code&gt;imudp&lt;/code&gt; und &lt;code&gt;imtcp&lt;/code&gt; aktiviert, indem man in der genannten Konfiguration die entsprechenden Bereiche anpasst.&lt;br /&gt;
&lt;br /&gt;
&lt;code&gt;# provides UDP syslog reception&lt;br /&gt;
$ModLoad imudp&lt;br /&gt;
$UDPServerRun 514&lt;br /&gt;
&lt;br /&gt;
# provides TCP syslog reception&lt;br /&gt;
$ModLoad imtcp&lt;br /&gt;
$InputTCPServerRun 514&lt;/code&gt;&lt;br /&gt;
&lt;br /&gt;
Nach dem Uebernehmen der Konfiguration (&lt;code&gt;service rsyslog restart&lt;/code&gt;) kann man auch sehen, dass nun auf dem Port 514 was lauscht.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;bash geshi&quot; style=&quot;text-align: left&quot;&gt;root&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;@&lt;/span&gt;server:&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;etc&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;# netstat -tulpen | grep 514&lt;/span&gt;&lt;br /&gt;tcp &amp;#160; &amp;#160; &amp;#160; &amp;#160;&lt;span style=&quot;color: #000000;&quot;&gt;0&lt;/span&gt; &amp;#160; &amp;#160; &amp;#160;&lt;span style=&quot;color: #000000;&quot;&gt;0&lt;/span&gt; 0.0.0.0:&lt;span style=&quot;color: #000000;&quot;&gt;514&lt;/span&gt; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; 0.0.0.0:&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;*&lt;/span&gt; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; LISTEN &amp;#160; &amp;#160; &amp;#160;&lt;span style=&quot;color: #000000;&quot;&gt;0&lt;/span&gt; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160;&lt;span style=&quot;color: #000000;&quot;&gt;36860&lt;/span&gt; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #000000;&quot;&gt;9598&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;rsyslogd &amp;#160; &lt;br /&gt;tcp6 &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #000000;&quot;&gt;0&lt;/span&gt; &amp;#160; &amp;#160; &amp;#160;&lt;span style=&quot;color: #000000;&quot;&gt;0&lt;/span&gt; :::&lt;span style=&quot;color: #000000;&quot;&gt;514&lt;/span&gt; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160;:::&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;*&lt;/span&gt; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160;LISTEN &amp;#160; &amp;#160; &amp;#160;&lt;span style=&quot;color: #000000;&quot;&gt;0&lt;/span&gt; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160;&lt;span style=&quot;color: #000000;&quot;&gt;36861&lt;/span&gt; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #000000;&quot;&gt;9598&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;rsyslogd &amp;#160; &lt;br /&gt;udp &amp;#160; &amp;#160; &amp;#160; &amp;#160;&lt;span style=&quot;color: #000000;&quot;&gt;0&lt;/span&gt; &amp;#160; &amp;#160; &amp;#160;&lt;span style=&quot;color: #000000;&quot;&gt;0&lt;/span&gt; 0.0.0.0:&lt;span style=&quot;color: #000000;&quot;&gt;514&lt;/span&gt; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; 0.0.0.0:&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;*&lt;/span&gt; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #000000;&quot;&gt;0&lt;/span&gt; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160;&lt;span style=&quot;color: #000000;&quot;&gt;36856&lt;/span&gt; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #000000;&quot;&gt;9598&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;rsyslogd &amp;#160; &lt;br /&gt;udp6 &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #000000;&quot;&gt;0&lt;/span&gt; &amp;#160; &amp;#160; &amp;#160;&lt;span style=&quot;color: #000000;&quot;&gt;0&lt;/span&gt; :::&lt;span style=&quot;color: #000000;&quot;&gt;514&lt;/span&gt; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160;:::&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;*&lt;/span&gt; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160;&lt;span style=&quot;color: #000000;&quot;&gt;0&lt;/span&gt; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160;&lt;span style=&quot;color: #000000;&quot;&gt;36857&lt;/span&gt; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #000000;&quot;&gt;9598&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;rsyslogd&lt;/div&gt;&lt;br /&gt;
Die Profis unter uns nutzen natuerlich &lt;code&gt;lsof&lt;/code&gt;, was dann wie folgt ausschauen wuerde.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;bash geshi&quot; style=&quot;text-align: left&quot;&gt;root&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;@&lt;/span&gt;server:&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;etc&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;# lsof -i tcp:514 -i udp:514&lt;/span&gt;&lt;br /&gt;COMMAND &amp;#160;PID &amp;#160; USER &amp;#160; FD &amp;#160; TYPE DEVICE SIZE&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;OFF NODE NAME&lt;br /&gt;rsyslogd &lt;span style=&quot;color: #000000;&quot;&gt;677&lt;/span&gt; syslog &amp;#160; &amp;#160;3u &amp;#160;IPv4 &amp;#160; &lt;span style=&quot;color: #000000;&quot;&gt;3327&lt;/span&gt; &amp;#160; &amp;#160; &amp;#160;0t0 &amp;#160;UDP &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;*&lt;/span&gt;:syslog &lt;br /&gt;rsyslogd &lt;span style=&quot;color: #000000;&quot;&gt;677&lt;/span&gt; syslog &amp;#160; &amp;#160;4u &amp;#160;IPv6 &amp;#160; &lt;span style=&quot;color: #000000;&quot;&gt;3328&lt;/span&gt; &amp;#160; &amp;#160; &amp;#160;0t0 &amp;#160;UDP &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;*&lt;/span&gt;:syslog &lt;br /&gt;rsyslogd &lt;span style=&quot;color: #000000;&quot;&gt;677&lt;/span&gt; syslog &amp;#160; &amp;#160;5u &amp;#160;IPv4 &amp;#160; &lt;span style=&quot;color: #000000;&quot;&gt;3331&lt;/span&gt; &amp;#160; &amp;#160; &amp;#160;0t0 &amp;#160;TCP &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;*&lt;/span&gt;:shell &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#40;&lt;/span&gt;LISTEN&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;rsyslogd &lt;span style=&quot;color: #000000;&quot;&gt;677&lt;/span&gt; syslog &amp;#160; &amp;#160;6u &amp;#160;IPv6 &amp;#160; &lt;span style=&quot;color: #000000;&quot;&gt;3332&lt;/span&gt; &amp;#160; &amp;#160; &amp;#160;0t0 &amp;#160;TCP &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;*&lt;/span&gt;:shell &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#40;&lt;/span&gt;LISTEN&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;strong&gt;LogAnalyzer&lt;/strong&gt;&lt;br /&gt;
Da nun alles soweit konfiguriert ist kann der LogAnalyzer angegangen werden. Den gibt es nicht aus den Paketquellen, was aber nicht wild ist, da die Installation, wie oben schon angedeutet, nicht wirklich hart ist. Via &lt;code&gt;wget&lt;/code&gt; wird sich das aktuelle Paket von der Herstellerseite &lt;a href=&quot;http://loganalyzer.adiscon.com/downloads&quot; title=&quot;Downloads - Adiscon LogAnalyzer&quot;&gt;herunter geladen&lt;/a&gt; und installiert.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;bash geshi&quot; style=&quot;text-align: left&quot;&gt;root&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;@&lt;/span&gt;server:&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;# mkdir /var/www/loganalyzer&lt;/span&gt;&lt;br /&gt;root&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;@&lt;/span&gt;server:~&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;# wget http://download.adiscon.com/loganalyzer/loganalyzer-3.2.3.tar.gz&lt;/span&gt;&lt;br /&gt;Saving to: loganalyzer-3.2.3.tar.gz&lt;br /&gt;&lt;br /&gt;root&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;@&lt;/span&gt;server:~&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;# tar xzf loganalyzer-3.2.3.tar.gz &lt;/span&gt;&lt;br /&gt;root&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;@&lt;/span&gt;server:~&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;# cd loganalyzer-3.2.3&lt;/span&gt;&lt;br /&gt;root&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;@&lt;/span&gt;server:~&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;loganalyzer-3.2.3&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;# cp -R src/&lt;strong&gt; /var/www/loganalyzer/&lt;/span&gt;&lt;br /&gt;root&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;@&lt;/span&gt;server:~&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;loganalyzer-3.2.3&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;# cp contrib/&lt;/strong&gt; /var/www/loganalyzer/&lt;/span&gt;&lt;br /&gt;root&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;@&lt;/span&gt;server:~&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;loganalyzer-3.2.3&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;# cd /var/www/loganalyzer&lt;/span&gt;&lt;br /&gt;root&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;@&lt;/span&gt;server:~&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;var&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;www&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;loganalyzer&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;# chmod +x configure.sh secure.sh&lt;/span&gt;&lt;br /&gt;root&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;@&lt;/span&gt;server:~&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;var&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;www&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;loganalyzer&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;# ./configure.sh&lt;/span&gt;&lt;br /&gt;root&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;@&lt;/span&gt;server:~&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;var&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;www&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;loganalyzer&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;# cd ..&lt;/span&gt;&lt;br /&gt;root&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;@&lt;/span&gt;server:~&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;var&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;www&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;# chown -R www-data:www-data loganalyzer/&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
Soweit so... ja, fast fertig. Jetzt sollte man noch das php5-Module fuer Apache mit &lt;code&gt;a2enmod php5&lt;/code&gt; aktivieren. Ist das geschehen kann man den LogAnalyzer konfigurieren. Dafuer verbindet man sich einfach per Webbrowser auf http://server/loganalyzer und geht die Punkte durch.&lt;br /&gt;
&lt;br /&gt;
Was habe ich noch gemacht? Ergaenzend hierzu habe ich fuer Apache SSL aktiviert und einen entsprechenden Redirect konfiguriert, so dass der Aufruf nur noch ueber http&lt;strong&gt;s&lt;/strong&gt;:// moeglich ist. Ergaenzend habe ich noch &lt;code&gt;AuthType Basic&lt;/code&gt; konfiguriert, so dass tatsaechlich nur berechtigte Benutzer auf die Seite zugreifen duerfen.  &lt;br /&gt;
&lt;br /&gt;
Fuer eine &quot;mal eben&quot;-Installation ist das aus meiner Sicht schon mal recht solide. Es gibt noch ein paar Dinge, die ich verbessern kann. Fuer ssh &lt;code&gt;PasswordAuthentication no&lt;/code&gt; setzen. Die Authentifizierung fuer Apache auch an das AD &quot;koppeln&quot;. RELP (&lt;a href=&quot;http://www.google.de/url?sa=t&amp;amp;rct=j&amp;amp;q=rsyslog%20relp&amp;amp;source=web&amp;amp;cd=1&amp;amp;ved=0CCkQFjAA&amp;amp;url=http%3A%2F%2Fwww.rsyslog.com%2Fdoc%2Fimrelp.html&amp;amp;ei=tuW7Tt6nIIeDOr3nxcII&amp;amp;usg=AFQjCNFd-dOxaBzwOTVtcm1-RrGfqoOPLA&amp;amp;cad=rja&quot; title=&quot;Weiterleitungshinweis&quot;&gt;Reliable Event Logging Protocol&lt;/a&gt;) aktivieren. Eigene Logs des Servers auf einem anderen Server ablegen, um im Falle eines Vorfalls keine modifizierten oder geloeschten Logs vorzufinden. Den Zugriff auf den Webserver ueber &lt;code&gt;/etc/hosts.allow&lt;/code&gt; und &lt;code&gt;/etc/hosts.deny &lt;/code&gt;weiter reglementieren.&lt;br /&gt;
&lt;br /&gt;
Da ich den Beitrag quasi aus dem Kopf erstellt habe hoffe ich, dass ich keine wichtigen Dinge vergessen habe. Wenn es Fragen, Anmerkungen oder Ergaenzungen gibt, einfach die Kommentare nutzen. 
    </content:encoded>

    <pubDate>Fri, 11 Nov 2011 09:00:00 +0100</pubDate>
    <guid isPermaLink="false">http://adminstories.de/index.php?/archives/101-guid.html</guid>
    <category>Anleitungen</category>
<category>command line</category>

</item>
<item>
    <title>KW 2011/44 - Fundstuecke</title>
    <link>http://adminstories.de/index.php?/archives/98-KW-201144-Fundstuecke.html</link>
            <category>Schnippsel</category>
    
    <comments>http://adminstories.de/index.php?/archives/98-KW-201144-Fundstuecke.html#comments</comments>
    <wfw:comment>http://adminstories.de/wfwcomment.php?cid=98</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://adminstories.de/rss.php?version=2.0&amp;type=comments&amp;cid=98</wfw:commentRss>
    

    <author>nospam@example.com (Dirk Deimeke)</author>
    <content:encoded>
    &lt;strong&gt;Kalenderwoche 44, 31.10.-06.11.2011&lt;/strong&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://wiki.bazaar.canonical.com/Workflows&quot; title=&quot;Workflows - wiki.bazaar.canonical.com&quot;&gt;Workflows with Bazaar&lt;/a&gt; ist eine interessante Uebersicht ueber Workflows von verteilten Versionskontrollsystemen. Ist fuer Bazaar geschrieben, laesst sich aber auch direkt auf Git oder Mercurial uebertragen.&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://iperf.sourceforge.net/&quot; title=&quot;Iperf&quot;&gt;Iperf&lt;/a&gt; ist ein simples Tool, um die Netzwerkbandbreite zu bestimmen. Gefunden bei &lt;a href=&quot;http://blog.stefan-betz.net/2011/11/4/bandbreite-im-netzwerk-bestimmen&quot; title=&quot;Bandbreite im Netzwerk bestimmen &amp;mdash; [ENC]BladeXP&amp;#39;s Blog&quot;&gt;Stefan&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
Diesen &lt;a href=&quot;http://git.or.cz/course/svn.html&quot; title=&quot;Git - SVN Crash Course&quot;&gt;Git - SVN Crash Course&lt;/a&gt; habe ich gerade gefunden, er stellt die Kommandos von Git und Subversion gegenüber. 
    </content:encoded>

    <pubDate>Mon, 07 Nov 2011 00:00:00 +0100</pubDate>
    <guid isPermaLink="false">http://adminstories.de/index.php?/archives/98-guid.html</guid>
    <category>Schnippsel</category>

</item>
<item>
    <title>Die Firewall</title>
    <link>http://adminstories.de/index.php?/archives/99-Die-Firewall.html</link>
            <category>Bewaehrtes</category>
    
    <comments>http://adminstories.de/index.php?/archives/99-Die-Firewall.html#comments</comments>
    <wfw:comment>http://adminstories.de/wfwcomment.php?cid=99</wfw:comment>

    <slash:comments>4</slash:comments>
    <wfw:commentRss>http://adminstories.de/rss.php?version=2.0&amp;type=comments&amp;cid=99</wfw:commentRss>
    

    <author>nospam@example.com (Ramon Kukla)</author>
    <content:encoded>
    Eine Frage, die immer wieder mal gestellt wird und in &quot;Fachzeitschriften&quot; regelmaessig bejaht wird ist, brauche ich zu Hause eine Firewall? Das kann man meiner Meinung nach ganz klar mit &quot;Ja/Nein/Kann sein&quot; beantworten.&lt;br /&gt;
&lt;br /&gt;
Vorab macht es, wie bei so vielen Dingen, Sinn sich zu fragen was man erreichen moechte. Moechte ich den Zugriff meines LANs reglementieren, so dass nur noch http(s) erlaubt ist? Oder moechte ich den Schutz meines Clients verbessern? Oder moechte ich einfach nur etwas ueber mein Netzwerk lernen? Dann ist ja auch noch die Frage, was ich unter Firewall verstehe und ob ich eine lokale oder zentrale Softwareloesung haben moechte? Oder soll es doch lieber gleich Hardware sein?&lt;br /&gt;
&lt;br /&gt;
Wobei ich mit Firewall jetzt eine sogenannte Stateful Inspection-Firewall meine. Also eine Firewall, die den Netzwerkverkehr anhand einfacher Regeln (Erlaube Host A den Zugriff auf Netz A, Port 80) reglementiert. Eine detailiertere Erklaerung findet man, wie so oft, im entsprechenden &lt;a href=&quot;https://secure.wikimedia.org/wikipedia/de/wiki/Stateful_Packet_Inspection&quot; title=&quot;&quot;&gt;Wiki-Artikel&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
Wenn ich den Zugriff meines Netzwerkes auf externe Ressourcen reglementieren moechte, ist der Einsatz von Hardware vermutlich am unkompliziertesten. Es muss nicht auf jedem beteiligten Rechner eine Firewall eingerichtet und konfiguriert werden. Ich habe da, eher aus Spass an der Freude, zu Hause eine Netscreen 5GT im Einsatz. Hiermit kann ich reglementieren und protokollieren, nutze viele der Funktionen aber nicht. In der Regel bringen neuere Router auch schon ein Stueck weit Firewallfunktionalitaet mit. In diesem Szenario haelt sich der Aufwand und vor allem eine moegliche Fehlersuche etwas in Grenzen.&lt;br /&gt;
&lt;br /&gt;
Um den Schutz meines Clients zu verbessern mache ich mir keine Gedanken ueber eine lokale Firewall. Da setze ich lieber an sinnvolleren Stellen an. Der Einsatz einer Personal Firewall war ja eine zeitlang extrem beliebt und wurde und wird in verschiedenen Publikationen auch immer wieder empfohlen. Das Problem ist hier nur, dass fuer einen &lt;strong&gt;moeglichen&lt;/strong&gt; sinnvollen Einsatz auch ein sehr gesundes Wissen ueber Netzwerke und das eigene System mitgebracht werden sollten. Denn Meldungen wie &quot;Der Prozess &#039;ssh:25738&#039; versucht von Adresse 192.168.100.110, Port 54721 auf die Adresse 192.168.100.1, Port 22 zuzugreifen&quot; muessen auch verstanden werden. Und dieses Beispiel war ja nun relativ leicht.&lt;br /&gt;
&lt;br /&gt;
Vor allem am Anfang der Konfiguration solch einer Personal Firewall wird man im Zweifel mit so vielen Meldungen konfrontiert, dass bei vielen Benutzern die Gefahr besteht, im Verlauf einfach nur noch alles zu verbieten oder zu erlauben. Ersteres fuehrt dazu, dass damit bestimmte Dinge vielleicht nicht (mehr) funktionieren. Zweiteres fuehrt dazu, dass ich eventuell einen Regeleintrag habe, der nicht gewuenscht war. Hat man es dann doch geschafft ein, wie man meint, gutes Regelwerk zu erstellen, hat man den Schutz der eigenen Maschine im Zweifel aber nicht derart verbessert, dass sich der Aufwand gelohnt hat. In allen Personal Firewalls, die ich bisher so gesehen habe, gab es einen Weg nach draussen, obwohl dieser &lt;strong&gt;eigentlich&lt;/strong&gt; nicht gestattet sein sollte. Ein Beispiel, welches schon was aelter ist, findet man in &lt;a href=&quot;http://www.kukla.info/ramon/blog/index.php?/pages/20060630.html&quot; title=&quot;20060630  - Workbench&quot;&gt;meinem Blog&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
Interessant ist eine Personal Firewall, wenn ich schauen moechte was mein System eigentlich so macht. Da kommt man mit einer zentralen Firewall oft nicht weit, da hier der Zusammenhang zwischen den Sessions und dem Ausloeser (sprich, der Anwendung) nicht immer klar ist.&lt;br /&gt;
&lt;br /&gt;
Um etwas ueber das eigene Netzwerk zu erfahren ist eine Firewall, egal ob lokal oder zentral, oft nicht der passende Ansatz. Grund ist, dass ich in der Regel nur Informationen ueber erlaubte/verbotene Sitzungen bekomme. Und sowas wie...&lt;br /&gt;
&lt;br /&gt;
&lt;code&gt;firewall-&gt; get session&lt;br /&gt;
alloc 2/max 2064, alloc failed 0, mcast alloc 0, di alloc failed 0&lt;br /&gt;
total reserved 0, free sessions in shared pool 2062&lt;br /&gt;
id 1675/s**,vsys 0,flag 00000040/0080/0021,policy 320002,time 180, dip 0 module 0&lt;br /&gt;
 if 2(nspflag 800601):192.168.100.15/52285-&gt;192.168.100.1/22,6,000ea62db238,sess token 3,vlan 0,tun 0,vsd 0,route 1,wsf 0&lt;br /&gt;
 if 3(nspflag 2002010):192.168.100.15/52285&lt;-192.168.100.1/22,6,000000000000,sess token 5,vlan 0,tun 0,vsd 0,route 0,wsf 0&lt;br /&gt;
id 1769/s**,vsys 0,flag 00000000/0000/0001,policy 1,time 6, dip 2 module 0&lt;br /&gt;
 if 2(nspflag 800801):192.168.100.15/57327-&gt;188.40.57.208/1194,17,000ea62db238,sess token 3,vlan 0,tun 0,vsd 0,route 1&lt;br /&gt;
 if 1(nspflag 10800800):192.168.0.2/1711&lt;-188.40.57.208/1194,17,00150c73228c,sess token 4,vlan 0,tun 0,vsd 0,route 5&lt;br /&gt;
Total 2 sessions shown&lt;/code&gt;&lt;br /&gt;
&lt;br /&gt;
...ist mal nett, wenn es ein Problem gibt. Aber so richtig lernen tut man da nichts. Da wuerde ich eher mal den Einsatz von &lt;a href=&quot;http://adminstories.de/index.php?/archives/21-tcpdump-im-Einsatz.html&quot; title=&quot;tcpdump im Einsatz  - adminstories&quot;&gt;tcpdump&lt;/a&gt; oder Wireshark empfehlen. Ich kann dann wirklich etwas vom Netzwerk und darauf befindlichen Protokollen sehen.&lt;br /&gt;
&lt;br /&gt;
So oder so sollte man sich im klaren sein, dass der Einsatz einer Firewall durchaus auch Aufwand und spaetere Pflege noetig macht. Im Normalfall sind Firewallsysteme erst mal keine &quot;Fire-and-Forget&quot;-Systeme. Wer, wie im obigen Beispiel, eine Firewall einrichtet, da http(s) freigibt und meint, das war&#039;s, wird schnell merken, dass Netzwerk/Internet mehr als nur Port 80 und 443 ist.&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;Fazit&lt;/strong&gt;:&lt;br /&gt;
Mit einer Firewall alleine gewinnt man noch lange keinen Blumentopf. Vor allem in Geschaeftsumfeld sollte es meiner Meinung nach kaum noch ein Unternehmen geben, dass sensible Maschinen, die aus dem Internet erreichbar sein muessen, ausschliesslich durch eine Firewall schuetzt. Fuer jede Anwendung, bzw. Anwendungsgruppe, sollte es Vorgaben geben, wie diese abzusichern sind. Da zaehlt dann aber nicht nur alleine der Einsatz einer Firewall. Da kommen dann, je nach Auspraegung, auch so Dinge wie Patch-Management, Web Application Firewall, IDS, IPS oder auch die Beschreibung des Notfalls (Einbruch) hinzu.&lt;br /&gt;
&lt;br /&gt;
Auch im privaten Umfeld ist die klassische Firewall nur eine moegliche Ergaenzung zu weiteren Punkten um den Schutz der eigenen Infrastruktur zu verbessern. Und eines muss klar sein. Es gibt nicht *die Sicherheit*. Man kann versuchen den Schutz zu verbessern, wird aber im Regelfall keine 100% Sicherheit erreichen.&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;Ergaenzung&lt;/strong&gt;:&lt;br /&gt;
Wenn zwei Personen sich unterhalten passiert es schnell, dass beide etwas anderes bei der Begrifflichkeit &quot;Firewall&quot; meinen. Umgangssprachlich ist mit Firewall oft die Komponente gemeint, die den Schutz eines Systems oder einer Umgebung zum Ziel hat. Korrekter ist jedoch, dass Firewall auch mit ein Konzept meint, in dem nicht nur die Frage nach der Hardware geklaert wird. 
    </content:encoded>

    <pubDate>Fri, 04 Nov 2011 09:00:00 +0100</pubDate>
    <guid isPermaLink="false">http://adminstories.de/index.php?/archives/99-guid.html</guid>
    <category>Bewaehrtes</category>

</item>
<item>
    <title>KW 2011/43 - Fundstuecke</title>
    <link>http://adminstories.de/index.php?/archives/95-KW-201143-Fundstuecke.html</link>
            <category>Schnippsel</category>
    
    <comments>http://adminstories.de/index.php?/archives/95-KW-201143-Fundstuecke.html#comments</comments>
    <wfw:comment>http://adminstories.de/wfwcomment.php?cid=95</wfw:comment>

    <slash:comments>2</slash:comments>
    <wfw:commentRss>http://adminstories.de/rss.php?version=2.0&amp;type=comments&amp;cid=95</wfw:commentRss>
    

    <author>nospam@example.com (Dirk Deimeke)</author>
    <content:encoded>
    &lt;strong&gt;Kalenderwoche 43, 24.-30.10.2011&lt;/strong&gt;&lt;br /&gt;
&lt;br /&gt;
Im &lt;a href=&quot;https://www.ibm.com/developerworks/linux/&quot; title=&quot;IBM developerWorks : Linux&quot;&gt;Linux-Teil der IBM developerWorks&lt;/a&gt; gibt es einige interessante Artikel, es lohnt sich, &lt;a href=&quot;https://www.ibm.com/developerworks/views/linux/rss/libraryview.jsp&quot; title=&quot;IBM developerWorks : Linux&quot;&gt;den Feed&lt;/a&gt; zu abonnieren.&lt;br /&gt;
&amp;bull; Learn Linux, 302 (Mixed environments): &lt;a href=&quot;http://www.ibm.com/developerworks/linux/library/l-lpic3-313-2/index.html?ca=drs-&quot; title=&quot;Learn Linux, 302 (Mixed environments): Authentication and authorization&quot;&gt;Authentication and authorization&lt;/a&gt;&lt;br /&gt;
&amp;bull; Learn Linux, 302 (Mixed environments): &lt;a href=&quot;http://www.ibm.com/developerworks/linux/library/l-lpic3-map/index.html?ca=drs-&quot; title=&quot;Learn Linux, 302 (Mixed environments): A roadmap for LPI-302&quot;&gt;A roadmap for LPI-302&lt;/a&gt;&lt;br /&gt;
&amp;bull; Learn Linux, 302 (Mixed environments): &lt;a href=&quot;http://www.ibm.com/developerworks/linux/library/l-lpic3-313-1/index.html?ca=drs-&quot; title=&quot;Learn Linux, 302 (Mixed environments): Managing user accounts and groups&quot;&gt;Managing user accounts and groups&lt;/a&gt;&lt;br /&gt;
&amp;bull; Learn Linux, 302 (Mixed environments): &lt;a href=&quot;http://www.ibm.com/developerworks/linux/library/l-lpic3-314-1/index.html?ca=drs-&quot; title=&quot;Learn Linux, 302 (Mixed environments): CIFS integration&quot;&gt;CIFS integration&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Zu &lt;a href=&quot;http://git-scm.com/&quot; title=&quot;Git&quot;&gt;Git&lt;/a&gt; gibt es die wirklich interessanten Buecher auch Online und gratis zu lesen:&lt;br /&gt;
&amp;bull; &lt;a href=&quot;http://paperc.de/19205-versionskontrolle-mit-git-9783897219458&quot; title=&quot;Versionskontrolle mit Git von Jon Loeliger als eBook bei PaperC lesen.&quot;&gt;Versionskontrolle mit Git&lt;/a&gt;&lt;br /&gt;
&amp;bull; &lt;a href=&quot;http://progit.org/book/&quot; title=&quot;Git - Book&quot;&gt;Pro Git&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Auf Slideshare gibt es eine richtig gute Praesentation zum Thema &lt;a href=&quot;http://www.slideshare.net/mariomueller/git-vs-svn-eine-vergleichende-einfhrung&quot; title=&quot;Git vs SVN - Eine vergleichende Einführung&quot;&gt;Git vs SVN - Eine vergleichende Einfuehrung&lt;/a&gt;. 
    </content:encoded>

    <pubDate>Mon, 31 Oct 2011 00:00:00 +0100</pubDate>
    <guid isPermaLink="false">http://adminstories.de/index.php?/archives/95-guid.html</guid>
    <category>Schnippsel</category>

</item>
<item>
    <title>Selbstmanagement</title>
    <link>http://adminstories.de/index.php?/archives/97-Selbstmanagement.html</link>
            <category>Werkzeugkasten</category>
    
    <comments>http://adminstories.de/index.php?/archives/97-Selbstmanagement.html#comments</comments>
    <wfw:comment>http://adminstories.de/wfwcomment.php?cid=97</wfw:comment>

    <slash:comments>2</slash:comments>
    <wfw:commentRss>http://adminstories.de/rss.php?version=2.0&amp;type=comments&amp;cid=97</wfw:commentRss>
    

    <author>nospam@example.com (Dirk Deimeke)</author>
    <content:encoded>
    Als Systemadminstrator habe ich die taegliche Herausforderung, meinen eigenen Arbeitstag zu organisieren. Dabei muss ich staendig im Hinterkopf behalten, dass ich sehr haeufig durch Telefonanrufe, E-Mails, Tickets und technischen Fehlern auf Systemen, fuer die ich verantwortlich zeichne, unterbrochen werde.&lt;br /&gt;
&lt;br /&gt;
Die meisten Administratoren, die ich kenne, versuchen so viel wie moeglich ueber Selbstmanagement, Projektmanagement (ja, wirklich!) und nicht zuletzt auch Zeitmanagement zu lernen. Wir evaluieren staendig neue Moeglichkeiten und Werkzeuge, um unser Leben leichter zu machen. Faul und darum bemueht zu sein, Dinge nicht zwei oder sogar drei Mal machen zu muessen, sind weitere Mosaiksteine.&lt;br /&gt;
&lt;br /&gt;
Gutes Zeitmanagement, (ja, ich weiss, Zeit kann man nicht managen), das durch den dringenden Wunsch, wiederkehrende Aufgaben zu automatisieren, unterstuetzt wird, ist der Schluesselfaktor dafuer, unsere Arbeit gut zu machen und unsere Chefs zufrieden zu stellen.&lt;br /&gt;
&lt;br /&gt;
Wenn man sich auf dem Buchmarkt umschaut oder im Internet sucht, ist das groesste Problem, dass die meisten Artikel, Buecher und Werkzeuge auf dem Markt fuer &quot;Business people&quot; (Geschaeftsleute) und nicht fuer Techies wie uns geschrieben wurden.&lt;br /&gt;
&lt;br /&gt;
Empfehlungen:&lt;br /&gt;
&lt;br /&gt;
Ich bin ein grosser Fan von Tom DeMarco und habe alle seine (uebersetzten) Buecher gelesen. Meine Favoriten sind: &lt;a href=&quot;http://www.hanser.de/buch.asp?isbn=978-3-446-41439-6&amp;amp;area=Computer&quot; title=&quot; HANSER Computerbuch - DeMarco: Der Termin (978-3-446-41439-6) &quot;&gt;Der Termin - Ein Roman über Projektmanagement&lt;/a&gt;, man kann eine in vielen Punkten sehr aehnliche Geschichte online finden, &lt;a href=&quot;http://xprogramming.com/articles/kings_dinner/&quot; title=&quot;The King&amp;#8217;s Dinner  | xProgramming.com&quot;&gt;The King&#039;s Dinner&lt;/a&gt; (englisch), und &lt;a href=&quot;http://www.hanser.de/buch.asp?isbn=978-3-446-21277-0&amp;amp;area=Computer&quot; title=&quot; HANSER Computerbuch - DeMarco, Lister: Wien wartet auf Dich! (978-3-446-21277-0) &quot;&gt;Wien wartet auf Dich! - Der Faktor Mensch im DV-Management&lt;/a&gt;. Beide Buecher sind schon etwas aelter aber in jedem Fall lesenswert.&lt;br /&gt;
&lt;br /&gt;
Thomas A. Limoncelli schrieb das Buch &lt;a href=&quot;http://www.oreilly.de/catalog/timemgmtger/index.html&quot; title=&quot;Zeitmanagement f&amp;uuml;r Systemadministratoren&quot;&gt;Zeitmanagement fuer Systemadministratoren&lt;/a&gt;, aus dem ich eine Menge an Tipps uebernommen habe.&lt;a href=&quot;http://www.pearsonhighered.com/educator/product/Practice-of-System-and-Network-Administration-The/9780321492661.page&quot; title=&quot;Pearson - Practice of System and Network Administration, The, 2/E - Thomas A. Limoncelli, Christina J. Hogan &amp;amp; Strata R. Chalup&quot;&gt;The Practice of System and Network Administration&lt;/a&gt; (englisch) vom gleichen Autor ist ebenfalls lesenswert, hat aber nichts mit dem eigentlichen Thema zu tun.&lt;br /&gt;
&lt;br /&gt;
Ueber &quot;praktische Administration&quot; und Zeitmanagement habe ich bereits einige Workshops gegeben, die Ihr &lt;a href=&quot;http://www.deimeke.net/dirk/blog/index.php?/pages/ubucon2009-administration.html&quot; title=&quot;Ubucon 2009 - Praktische Administration | Dirks Logbuch&quot;&gt;hier&lt;/a&gt; und &lt;a href=&quot;http://www.deimeke.net/dirk/blog/index.php?/pages/ubucon2010-administration.html&quot; title=&quot;Ubucon 2010 - Praktische Administration 2, Zeitmanagement | Dirks Logbuch&quot;&gt;hier&lt;/a&gt; findet. Das Video des zweiten Workshops wird noch fertiggestellt. Da die Videokassetten einen Schlag hatten, ist die Restauration aufwendiger.&lt;br /&gt;
&lt;br /&gt;
Wichtig: &lt;strong&gt;Pruefet alles und behaltet das Beste!&lt;/strong&gt;&lt;br /&gt;
&lt;br /&gt;
Der Weg, den Andere (oder ich) Euch zeigen, muss nicht der richtige fuer Euch sein. Er ist es sogar hoechstwahrscheinlich nicht. Informiert Euch regelmaessig ueber verschiedene Techniken und Methoden, dann benutzt das, was fuer Euch gut und richtig ist, was durchaus eine Mischung aus vielen verschiedenen Quellen sein kann. &lt;br /&gt;
&lt;br /&gt;
Wenn Ihr denkt, dass Euch ein elektronisches Werkzeug helfen kann, denkt bitte daran, dass das nur ein Werkzeug ist und Euch die Philosophie des Programmautoren aufzwaengen sollte. Das ist uebrigens einer der Gruende, weshalb ich &lt;a href=&quot;http://taskwarrior.org/&quot; title=&quot;Taskwarrior - Overview - Taskwarrior&quot;&gt;Taskwarrior&lt;/a&gt; verwende und in dem Projekt mitmache. 
    </content:encoded>

    <pubDate>Fri, 28 Oct 2011 09:00:00 +0200</pubDate>
    <guid isPermaLink="false">http://adminstories.de/index.php?/archives/97-guid.html</guid>
    <category>Werkzeugkasten</category>

</item>
<item>
    <title>Neues Logo, danke!</title>
    <link>http://adminstories.de/index.php?/archives/96-Neues-Logo,-danke!.html</link>
            <category>adminstories.de</category>
    
    <comments>http://adminstories.de/index.php?/archives/96-Neues-Logo,-danke!.html#comments</comments>
    <wfw:comment>http://adminstories.de/wfwcomment.php?cid=96</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://adminstories.de/rss.php?version=2.0&amp;type=comments&amp;cid=96</wfw:commentRss>
    

    <author>nospam@example.com (Ramon Kukla)</author>
    <content:encoded>
    Wir hatten Anfang des Monats ja &lt;a href=&quot;http://adminstories.de/index.php?/archives/88-Auf-der-Suche-nach....html&quot; title=&quot;Auf der Suche nach...  - adminstories&quot;&gt;geschrieben&lt;/a&gt;, dass wir auf der Suche nach einem schicken Logo sind. &lt;a href=&quot;http://www.creativedesktop.info&quot; title=&quot;creativedesktop - arbeiten&quot;&gt;Christian&lt;/a&gt; &lt;a href=&quot;https://plus.google.com/106581142136795997665/posts&quot; title=&quot;&quot;&gt;Duerr&lt;/a&gt; war so leichtsinnig sich dem Thema und unseren Ideen, die wir nur schwer in Worte fassen konnten, anzunehmen. Letztendlich hat Christian es aber geschafft und uns ein prima Favicon, Logo und ein tolles Bild erstellt.&lt;br /&gt;
&lt;br /&gt;
An dieser Stelle noch einmal einen herzlichen Dank an alle die sich gemeldet haben und an Christian fuer das tolle Ergebnis! 
    </content:encoded>

    <pubDate>Tue, 25 Oct 2011 14:21:00 +0200</pubDate>
    <guid isPermaLink="false">http://adminstories.de/index.php?/archives/96-guid.html</guid>
    <category>adminstories.de</category>

</item>
<item>
    <title>KW 2011/42 - Fundstuecke</title>
    <link>http://adminstories.de/index.php?/archives/94-KW-201142-Fundstuecke.html</link>
            <category>Schnippsel</category>
    
    <comments>http://adminstories.de/index.php?/archives/94-KW-201142-Fundstuecke.html#comments</comments>
    <wfw:comment>http://adminstories.de/wfwcomment.php?cid=94</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://adminstories.de/rss.php?version=2.0&amp;type=comments&amp;cid=94</wfw:commentRss>
    

    <author>nospam@example.com (Dirk Deimeke)</author>
    <content:encoded>
    &lt;strong&gt;Kalenderwoche 42, 17.-23.10.2011&lt;/strong&gt;&lt;br /&gt;
&lt;br /&gt;
Wenn die Anmeldung an den eigenen Server, der Kerberos verwendet, nicht klappt und ein &lt;code&gt;kinit&lt;/code&gt; zeigt ein &lt;code&gt;Clock skew too great while getting initial credentials&lt;/code&gt; an, einfach mal schauen ob die Systemzeit korrekt ist. Hat bei mir geholfen.&lt;br /&gt;
&lt;br /&gt;
Weil es auf google+ eine &lt;a href=&quot;https://plus.google.com/u/0/104940068838189453727/posts/ZPZQ6RnmNM8?hl=de&quot; title=&quot;&quot;&gt;Anfrage&lt;/a&gt; gab. Zeige mir jede Zeile einer Datei an, in der in der fuenften Spalte der Wert 12 enthalten ist: &lt;code&gt;awk -F\; &#039;$5~/12/ {print}&#039; DATEI&lt;/code&gt; (Der Trenner war ein Semikolon, daher das -F\;).&lt;br /&gt;
&lt;br /&gt;
Das ist vielleicht fuer den Einen oder Anderen interessant: &lt;a href=&quot;http://www.cyberciti.biz/tips/howto-log-user-activity-using-process-accounting.html&quot; title=&quot; How to keep a detailed audit trail of what&amp;#8217;s being done on your Linux systems&quot;&gt;How to keep a detailed audit trail of what’s being done on your Linux systems&lt;/a&gt; 
    </content:encoded>

    <pubDate>Mon, 24 Oct 2011 00:00:00 +0200</pubDate>
    <guid isPermaLink="false">http://adminstories.de/index.php?/archives/94-guid.html</guid>
    <category>Schnippsel</category>

</item>
<item>
    <title>An Tagestermine erinnern</title>
    <link>http://adminstories.de/index.php?/archives/93-An-Tagestermine-erinnern.html</link>
            <category>Werkzeugkasten</category>
    
    <comments>http://adminstories.de/index.php?/archives/93-An-Tagestermine-erinnern.html#comments</comments>
    <wfw:comment>http://adminstories.de/wfwcomment.php?cid=93</wfw:comment>

    <slash:comments>7</slash:comments>
    <wfw:commentRss>http://adminstories.de/rss.php?version=2.0&amp;type=comments&amp;cid=93</wfw:commentRss>
    

    <author>nospam@example.com (Dirk Deimeke)</author>
    <content:encoded>
    Vor hundert Jahren als ich das erste Mal in intensiveren Kontakt mit &lt;a href=&quot;http://www.perl.org/&quot; title=&quot;The Perl Programming Language - www.perl.org&quot;&gt;Perl&lt;/a&gt; kam, habe ich mir &quot;als Fingeruebung&quot; ein kleines Skript gebastelt, dass mich seit vier Jahren an meine Tagestermine erinnert. Ihr werdet sehr schnell merken, dass ich kein ueberragender Programmierer bin, wenn Ihr Euch das Skript anschaut. Aber, mir hilft es und damit vielleicht auch Euch.&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://adminstories.de/uploads/daterem-0.0.1.tar.gz&quot; title=&quot;daterem-0.0.1.tar.gz&quot;&gt;daterem-0.0.1.tar.gz&lt;/a&gt; (3,4 kB - &lt;a href=&quot;http://www.opensource.org/licenses/mit-license.php&quot; title=&quot;Open Source Initiative OSI - The MIT License (MIT):Licensing | Open Source Initiative&quot;&gt;MIT-License&lt;/a&gt;)&lt;br /&gt;
&lt;br /&gt;
In der Datei &lt;code&gt;daterem.dat&lt;/code&gt; stehen die Termine drin.&lt;br /&gt;
&lt;br /&gt;
Fixe Termine sind entweder mit oder ohne vierstellige Jahreszahl moeglich: &lt;code&gt;tt.mm.&lt;/code&gt; oder &lt;code&gt;tt.mm.jjjj&lt;/code&gt; Im ersten Fall tauchen sie in jedem Fall auf, im zweiten Fall nur in den speziellen Jahr. Variable Feiertage werde durch ihren Abstand zu Ostersonntag gekennzeichnet. &quot;0&quot; für Ostersonntag selber, &quot;-2&quot; für Karfreitag und &quot;1&quot; für Ostermontag als Beispiel.&lt;br /&gt;
&lt;br /&gt;
Bei Zeitraeumen muss nur angegeben werden, was unterschiedlich ist, die Jahreszahl ist nicht noetig, dann wird der Zeitraum eben jedes Jahr wiederholt (wiederkehrende Zeitraeume nutze ich persoenlich nicht).&lt;br /&gt;
&lt;br /&gt;
Im gleichen Monat: &lt;code&gt;05.-15.04.2011&lt;/code&gt;&lt;br /&gt;
Verschiedene Monate gleiches Jahr: &lt;code&gt;16.04.-13.05.2011&lt;/code&gt;&lt;br /&gt;
Verschiedene Jahre: &lt;code&gt;30.12.2011-02.01.2011&lt;/code&gt;&lt;br /&gt;
&lt;br /&gt;
Nach den Daten &lt;strong&gt;muss&lt;/strong&gt; immer eine Beschreibung kommen.&lt;br /&gt;
&lt;br /&gt;
Die Datei muss von Hand gepflegt werden.&lt;br /&gt;
&lt;br /&gt;
Ohne Parameter aufgerufen, werden alle Jahrestage des heutigen Tages angezeigt. Wenn der Parameter ein Datum ist, dann das entsprechende Datum, wenn der Parameter &lt;code&gt;mm.jjjj&lt;/code&gt; ist, kommen alle Termine des Monats und mit &lt;code&gt;jjjj&lt;/code&gt; alle Termine des Jahres.&lt;br /&gt;
&lt;br /&gt;
Da sind schon ein paar Termine drin, um das Format zu verdeutlichen.&lt;br /&gt;
&lt;br /&gt;
Das Skript laeuft bei mir allmorgentlich um 04:00 Uhr und schickt mir die aktuellen Tagestermine und Geburtstage. 
    </content:encoded>

    <pubDate>Fri, 21 Oct 2011 09:00:00 +0200</pubDate>
    <guid isPermaLink="false">http://adminstories.de/index.php?/archives/93-guid.html</guid>
    <category>Werkzeugkasten</category>

</item>
<item>
    <title>KW 2011/41 - Fundstuecke</title>
    <link>http://adminstories.de/index.php?/archives/90-KW-201141-Fundstuecke.html</link>
            <category>Schnippsel</category>
    
    <comments>http://adminstories.de/index.php?/archives/90-KW-201141-Fundstuecke.html#comments</comments>
    <wfw:comment>http://adminstories.de/wfwcomment.php?cid=90</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://adminstories.de/rss.php?version=2.0&amp;type=comments&amp;cid=90</wfw:commentRss>
    

    <author>nospam@example.com (Dirk Deimeke)</author>
    <content:encoded>
    &lt;strong&gt;Kalenderwoche 41, 10.-16.10.2011&lt;/strong&gt;&lt;br /&gt;
&lt;br /&gt;
Bei The Geek Stuff findet sich ein kleines aber feines &lt;a href=&quot;http://www.thegeekstuff.com/2011/10/mysql-tutorial-basics/&quot; title=&quot;MySQL Tutorial: Install, Create DB and Table, Insert and Select Records&quot;&gt;MySQL Tutorial: Install, Create DB and Table, Insert and Select Records&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Bei developerWorks sind zwei Artikel zur Nutzung von PHP mit identi.ca erschienen: &lt;a href=&quot;https://www.ibm.com/developerworks/opensource/library/x-identicaphp/index.html?ca=drs-&quot; title=&quot;Use PHP with Identi.ca, Part 1&quot;&gt;Teil 1&lt;/a&gt; und &lt;a href=&quot;https://www.ibm.com/developerworks/opensource/library/x-identicaphp2/index.html?ca=drs-&quot; title=&quot;Use PHP with Identi.ca, Part 2&quot;&gt;Teil 2&lt;/a&gt;. 
    </content:encoded>

    <pubDate>Mon, 17 Oct 2011 00:00:00 +0200</pubDate>
    <guid isPermaLink="false">http://adminstories.de/index.php?/archives/90-guid.html</guid>
    <category>Schnippsel</category>

</item>
<item>
    <title>Mailserver testen</title>
    <link>http://adminstories.de/index.php?/archives/91-Mailserver-testen.html</link>
            <category>Anleitungen</category>
    
    <comments>http://adminstories.de/index.php?/archives/91-Mailserver-testen.html#comments</comments>
    <wfw:comment>http://adminstories.de/wfwcomment.php?cid=91</wfw:comment>

    <slash:comments>4</slash:comments>
    <wfw:commentRss>http://adminstories.de/rss.php?version=2.0&amp;type=comments&amp;cid=91</wfw:commentRss>
    

    <author>nospam@example.com (Ramon Kukla)</author>
    <content:encoded>
    Vor laengerer Zeit gab es hier ja mal einen Beitrag der sich um das rudimentaere &lt;a href=&quot;http://adminstories.de/index.php?/archives/35-Webserver-testen.html&quot; title=&quot;Webserver testen  - adminstories&quot;&gt;Testen eines Webservers&lt;/a&gt; via telnet und openssl drehte. Da war es nur konsequent, dass dem auch mal ein Beitrag folgt, der sich um das Thema Mail dreht.&lt;br /&gt;
&lt;br /&gt;
Fangen wir erst mal einfach an und schauen, ob wir uns via SMTP mit unserem Mailserver verbinden und testweise mal eine Mail verschicken koennen.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;bash geshi&quot; style=&quot;text-align: left&quot;&gt;ramon&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;@&lt;/span&gt;client:~$ telnet 192.168.100.25 &lt;span style=&quot;color: #000000;&quot;&gt;25&lt;/span&gt;&lt;br /&gt;Trying 192.168.100.25...&lt;br /&gt;Connected to mailserver.&lt;br /&gt;Escape character is &lt;span style=&quot;color: #ff0000;&quot;&gt;&#039;^]&#039;&lt;/span&gt;.&lt;br /&gt;ehlo client&lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt;220&lt;/span&gt; mailserver NuNu &lt;span style=&quot;color: #000000;&quot;&gt;3.3&lt;/span&gt;&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;18&lt;/span&gt;&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt; ipop3d &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#40;&lt;/span&gt;Amiga&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt;250&lt;/span&gt;-mailserver Hello client &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#91;&lt;/span&gt;192.168.100.25&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#93;&lt;/span&gt;&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt;, pleased to meet you&lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt;250&lt;/span&gt;-HELP&lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt;250&lt;/span&gt;-SIZE &lt;span style=&quot;color: #000000;&quot;&gt;20971520&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt;250&lt;/span&gt; PIPELINING&lt;br /&gt;MAIL FROM:ramon&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;@&lt;/span&gt;kukla.info&lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt;250&lt;/span&gt; ramon&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;@&lt;/span&gt;kukla.info... Sender OK&lt;br /&gt;RCPT TO:ramon&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;@&lt;/span&gt;kukla.info&lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt;250&lt;/span&gt; ramon&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;@&lt;/span&gt;kukla.info... Recipient OK&lt;br /&gt;DATA&lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt;354&lt;/span&gt; Enter message, end with &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;.&amp;quot;&lt;/span&gt; on a line by itself&lt;br /&gt;SUBJECT:testmail&lt;br /&gt;testmail&lt;br /&gt;.&lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt;250&lt;/span&gt; Message accepted &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;for&lt;/span&gt; delivery&lt;br /&gt;quit&lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt;221&lt;/span&gt; mailserver SMTP Service closing transmission channel&lt;br /&gt;Connection closed by foreign host.&lt;/div&gt;&lt;br /&gt;
Hat alles geklappt haben wir anschliessend eine Mail in unserem Zielpostkorb. Jetzt haben wir einen Server, der es erfordert sich vorab als berechtigter Benutzer zu authentifizieren. Da wir unsere Authentifizierung nicht unverschluesselt ueber das Netz schicken werden wir uns nun via SSL mit dem Mailserver verbinden.&lt;br /&gt;
&lt;br /&gt;
Vorab noch ein Hinweis. Bei der Nutzung von openssl im folgenden Beispiel passiert es, dass bei Kommandos, wo das erste Zeichen ein R ist, ein &lt;a href=&quot;http://kgerasimov.ru/?p=143&quot; title=&quot;Веб дизайн | студия ivvy.ru&quot;&gt;Regonitiation initiiert &lt;/a&gt;wird. Das wuerde uns dann also spaetestens beim &quot;RCPT TO:&quot; zum Verhaengnis werden. Daher rufen wir openssl mit der Option &lt;code&gt;-ign_eof&lt;/code&gt; auf.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;bash geshi&quot; style=&quot;text-align: left&quot;&gt;ramon&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;@&lt;/span&gt;client:~$ openssl s_client &lt;span style=&quot;color: #660033;&quot;&gt;-connect&lt;/span&gt; mailserver:&lt;span style=&quot;color: #000000;&quot;&gt;465&lt;/span&gt; -ign_eof&lt;br /&gt;CONNECTED&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#40;&lt;/span&gt;00000003&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #007800;&quot;&gt;depth&lt;/span&gt;=&lt;span style=&quot;color: #000000;&quot;&gt;0&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #007800;&quot;&gt;C&lt;/span&gt;=DE&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #007800;&quot;&gt;ST&lt;/span&gt;=Saxonia&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #007800;&quot;&gt;L&lt;/span&gt;=Falkenstein&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #007800;&quot;&gt;O&lt;/span&gt;=ptlx&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #007800;&quot;&gt;OU&lt;/span&gt;=Administration&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #007800;&quot;&gt;CN&lt;/span&gt;=mailserver&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #007800;&quot;&gt;emailAddress&lt;/span&gt;=admin&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;@&lt;/span&gt;mailserver&lt;br /&gt;verify error:&lt;span style=&quot;color: #007800;&quot;&gt;num&lt;/span&gt;=&lt;span style=&quot;color: #000000;&quot;&gt;18&lt;/span&gt;:self signed certificate&lt;br /&gt;verify &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;return&lt;/span&gt;:&lt;span style=&quot;color: #000000;&quot;&gt;1&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #007800;&quot;&gt;depth&lt;/span&gt;=&lt;span style=&quot;color: #000000;&quot;&gt;0&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #007800;&quot;&gt;C&lt;/span&gt;=DE&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #007800;&quot;&gt;ST&lt;/span&gt;=Saxonia&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #007800;&quot;&gt;L&lt;/span&gt;=Falkenstein&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #007800;&quot;&gt;O&lt;/span&gt;=ptlx&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #007800;&quot;&gt;OU&lt;/span&gt;=Administration&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #007800;&quot;&gt;CN&lt;/span&gt;=mailserver&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #007800;&quot;&gt;emailAddress&lt;/span&gt;=admin&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;@&lt;/span&gt;mailserver&lt;br /&gt;verify &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;return&lt;/span&gt;:&lt;span style=&quot;color: #000000;&quot;&gt;1&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #660033;&quot;&gt;---&lt;/span&gt;&lt;br /&gt;Certificate chain&lt;br /&gt;&amp;#160;&lt;span style=&quot;color: #000000;&quot;&gt;0&lt;/span&gt; s:&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #007800;&quot;&gt;C&lt;/span&gt;=DE&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #007800;&quot;&gt;ST&lt;/span&gt;=Saxonia&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #007800;&quot;&gt;L&lt;/span&gt;=Falkenstein&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #007800;&quot;&gt;O&lt;/span&gt;=ptlx&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #007800;&quot;&gt;OU&lt;/span&gt;=Administration&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #007800;&quot;&gt;CN&lt;/span&gt;=mailserver&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #007800;&quot;&gt;emailAddress&lt;/span&gt;=admin&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;@&lt;/span&gt;mailserver&lt;br /&gt;&amp;#160; &amp;#160;i:&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #007800;&quot;&gt;C&lt;/span&gt;=DE&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #007800;&quot;&gt;ST&lt;/span&gt;=Saxonia&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #007800;&quot;&gt;L&lt;/span&gt;=Falkenstein&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #007800;&quot;&gt;O&lt;/span&gt;=ptlx&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #007800;&quot;&gt;OU&lt;/span&gt;=Administration&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #007800;&quot;&gt;CN&lt;/span&gt;=mailserver&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #007800;&quot;&gt;emailAddress&lt;/span&gt;=admin&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;@&lt;/span&gt;mailserver&lt;br /&gt;&lt;span style=&quot;color: #660033;&quot;&gt;---&lt;/span&gt;&lt;br /&gt;Server certificate&lt;br /&gt;&lt;span style=&quot;color: #660033;&quot;&gt;-----BEGIN&lt;/span&gt; CERTIFICATE-----&lt;br /&gt;MIIDnDCCAwWgAwIBAgIJAJLLd&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;ciGa54MA0GCSqGSIb3DQEBBQUAMIGRMQswCQYD&lt;br /&gt;VQQGEwJERTEQMA4GA1UECBMHU2F4b25pYTEUMBIGA1UEBxMLRmFsa2Vuc3RlaW4x&lt;br /&gt;DTALBgNVBAoTBHB0bHgxFzAVBgNVBAsTDkFkbWluaXN0cmF0aW9uMRQwEgYDVQQD&lt;br /&gt;Ewtmb28ucHRseC5kZTEcMBoGCSqGSIb3DQEJARYNYWRtaW5AcHRseC5kZTAeFw0x&lt;br /&gt;MTAyMjAxMzMxMzVaFw0yMTAyMTcxMzMxMzVaMIGRMQswCQYDVQQGEwJERTEQMA4G&lt;br /&gt;A1UECBMHU2F4b25pYTEUMBIGA1UEBxMLRmFsa2Vuc3RlaW4xDTALBgNVBAoTBHB0&lt;br /&gt;bHgxFzAVBgNVBAsTDkFkbWluaXN0cmF0aW9uMRQwEgYDVQQDEwtmb28ucHRseC5k&lt;br /&gt;ZTEcMBoGCSqGSIb3DQEJARYNYWRtaW5AcHRseC5kZTCBnzANBgkqhkiG9w0BAQEF&lt;br /&gt;AAOBjQAwgYkCgYEA1VqGIqHj1sH8MAO8+kA2JPzb4dmEvRcnRMOvS0eCpmLsN+GX&lt;br /&gt;Tz+RUZLu5&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;2tfB7ntggU&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;R0P&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;LozFbUsFDqckKrzTuzus21&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;EJGfN51p9pixpGBi&lt;br /&gt;GyiXlUJ2hg3zwwckCwxEuoY+By&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;KlEH6sN7vGpycYj2rmaf0nBTuoL+DGoMCAwEA&lt;br /&gt;AaOB+TCB9jAdBgNVHQ4EFgQUpSWQtdmGGGMs8yYIWQZbtRQbJCswgcYGA1UdIwSB&lt;br /&gt;vjCBu4AUpSWQtdmGGGMs8yYIWQZbtRQbJCuhgZekgZQwgZExCzAJBgNVBAYTAkRF&lt;br /&gt;MRAwDgYDVQQIEwdTYXhvbmlhMRQwEgYDVQQHEwtGYWxrZW5zdGVpbjENMAsGA1UE&lt;br /&gt;ChMEcHRseDEXMBUGA1UECxMOQWRtaW5pc3RyYXRpb24xFDASBgNVBAMTC2Zvby5w&lt;br /&gt;dGx4LmRlMRwwGgYJKoZIhvcNAQkBFg1hZG1pbkBwdGx4LmRlggkAkst39yIZrngw&lt;br /&gt;DAYDVR0TBAUwAwEB&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;zANBgkqhkiG9w0BAQUFAAOBgQCQAvHWM1QUAw447V&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;l+1X+&lt;br /&gt;R8+ATWJJUsj1dCtSrkrCuS9hS1mxnnLlWa&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;Jpe+ipRcHLdvYQ7g+iaWupujeZv8B&lt;br /&gt;PqpipLSPyuaSlIlCJe38fUKbXuPbSLkx6RA8PrY6O3y32T23Rmc13HV5gwbf+8zI&lt;br /&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;A3WXwxoOTYz&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;GzIA2+&lt;span style=&quot;color: #007800;&quot;&gt;VMg&lt;/span&gt;==&lt;br /&gt;&lt;span style=&quot;color: #660033;&quot;&gt;-----END&lt;/span&gt; CERTIFICATE-----&lt;br /&gt;&lt;span style=&quot;color: #007800;&quot;&gt;subject&lt;/span&gt;=&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #007800;&quot;&gt;C&lt;/span&gt;=DE&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #007800;&quot;&gt;ST&lt;/span&gt;=Saxonia&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #007800;&quot;&gt;L&lt;/span&gt;=Falkenstein&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #007800;&quot;&gt;O&lt;/span&gt;=ptlx&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #007800;&quot;&gt;OU&lt;/span&gt;=Administration&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #007800;&quot;&gt;CN&lt;/span&gt;=mailserver&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #007800;&quot;&gt;emailAddress&lt;/span&gt;=admin&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;@&lt;/span&gt;mailserver&lt;br /&gt;&lt;span style=&quot;color: #007800;&quot;&gt;issuer&lt;/span&gt;=&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #007800;&quot;&gt;C&lt;/span&gt;=DE&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #007800;&quot;&gt;ST&lt;/span&gt;=Saxonia&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #007800;&quot;&gt;L&lt;/span&gt;=Falkenstein&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #007800;&quot;&gt;O&lt;/span&gt;=ptlx&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #007800;&quot;&gt;OU&lt;/span&gt;=Administration&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #007800;&quot;&gt;CN&lt;/span&gt;=mailserver&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #007800;&quot;&gt;emailAddress&lt;/span&gt;=admin&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;@&lt;/span&gt;mailserver&lt;br /&gt;&lt;span style=&quot;color: #660033;&quot;&gt;---&lt;/span&gt;&lt;br /&gt;No client certificate CA names sent&lt;br /&gt;&lt;span style=&quot;color: #660033;&quot;&gt;---&lt;/span&gt;&lt;br /&gt;SSL handshake has &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;read&lt;/span&gt; &lt;span style=&quot;color: #000000;&quot;&gt;1499&lt;/span&gt; bytes and written &lt;span style=&quot;color: #000000;&quot;&gt;319&lt;/span&gt; bytes&lt;br /&gt;&lt;span style=&quot;color: #660033;&quot;&gt;---&lt;/span&gt;&lt;br /&gt;New, TLSv1&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;SSLv3, Cipher is DHE-RSA-AES256-SHA&lt;br /&gt;Server public key is &lt;span style=&quot;color: #000000;&quot;&gt;1024&lt;/span&gt; bit&lt;br /&gt;Secure Renegotiation IS supported&lt;br /&gt;Compression: NONE&lt;br /&gt;Expansion: NONE&lt;br /&gt;SSL-Session:&lt;br /&gt;&amp;#160; &amp;#160; Protocol &amp;#160;: TLSv1&lt;br /&gt;&amp;#160; &amp;#160; Cipher &amp;#160; &amp;#160;: DHE-RSA-AES256-SHA&lt;br /&gt;&amp;#160; &amp;#160; Session-ID: 6CFEC94B29AEFC1099D87B785F58631DF6D328F135B2CA75D5368566C1D3C19D&lt;br /&gt;&amp;#160; &amp;#160; Session-ID-ctx:&lt;br /&gt;&amp;#160; &amp;#160; Master-Key: 330430753D0F29C93467334FA9D0C43700C0B5DE6F8AD2F9D606B0A4ACD565FC9012F49DD7EEE2F7BE04AF2E0FC9137F&lt;br /&gt;&amp;#160; &amp;#160; Key-Arg &amp;#160; : None&lt;br /&gt;&amp;#160; &amp;#160; Start Time: &lt;span style=&quot;color: #000000;&quot;&gt;1318419830&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; Timeout &amp;#160; : &lt;span style=&quot;color: #000000;&quot;&gt;300&lt;/span&gt; &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#40;&lt;/span&gt;sec&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; Verify &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;return&lt;/span&gt; code: &lt;span style=&quot;color: #000000;&quot;&gt;18&lt;/span&gt; &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#40;&lt;/span&gt;self signed certificate&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #660033;&quot;&gt;---&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt;220&lt;/span&gt; mailserver NuNu &lt;span style=&quot;color: #000000;&quot;&gt;3.3&lt;/span&gt;&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;18&lt;/span&gt;&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt; ipop3d &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#40;&lt;/span&gt;Amiga&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;ehlo client&lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt;250&lt;/span&gt;-mailserver&lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt;250&lt;/span&gt;-PIPELINING&lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt;250&lt;/span&gt;-SIZE &lt;span style=&quot;color: #000000;&quot;&gt;30720000&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt;250&lt;/span&gt;-VRFY&lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt;250&lt;/span&gt;-ETRN&lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt;250&lt;/span&gt;-AUTH PLAIN LOGIN&lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt;250&lt;/span&gt;-ENHANCEDSTATUSCODES&lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt;250&lt;/span&gt;-8BITMIME&lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt;250&lt;/span&gt; DSN&lt;/div&gt;&lt;br /&gt;
Jetzt kommt der interessantere Teil, die Authentifizierung. Diese erfolgt via AUTH LOGIN oder AUTH PLAIN. Der Unterschied zwischen den beiden Methoden ist, dass bei ersterer (AUTH LOGIN) Benutzername und Kennwort getrennt uebertragen werden, wohingegen bei AUTH PLAIN Benutzername und Kennwort &quot;am Stueck&quot; uebertragen werden. Allerdings werden Benutzername und Kennwort nicht im Klartext sondern Base64-kodiert uebermittelt. Um einen solchen kodierten String zu erhalten kann man entweder einen der diversen Online-Konverter nutzen, oder ein lokales Perl mit dem &lt;a href=&quot;http://perldoc.perl.org/MIME/Base64.html&quot; title=&quot;MIME::Base64 - perldoc.perl.org&quot;&gt;MIME::Base-Modul&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;bash geshi&quot; style=&quot;text-align: left&quot;&gt;ramon&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;@&lt;/span&gt;client:~$ &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;perl&lt;/span&gt; -MMIME::Base64 &lt;span style=&quot;color: #660033;&quot;&gt;-e&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&#039;print encode_base64(&amp;quot;meinpasswort&amp;quot;);&#039;&lt;/span&gt;&lt;br /&gt;bWVpbnBhc3N3b3J0&lt;br /&gt;ramon&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;@&lt;/span&gt;client:~$ &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;perl&lt;/span&gt; -MMIME::Base64 &lt;span style=&quot;color: #660033;&quot;&gt;-e&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&#039;print encode_base64(&amp;quot;ramon@kukla.info&amp;quot;);&#039;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #007800;&quot;&gt;cmFtb25Aa3VrbGEuaW5mbw&lt;/span&gt;==&lt;/div&gt;&lt;br /&gt;
Mit Hilfe der generierten Werte koennen wir uns nun also Authentifizieren und unsere Mail senden.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;bash geshi&quot; style=&quot;text-align: left&quot;&gt;AUTH LOGIN&lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt;334&lt;/span&gt; VXNlcm5hbWU6&lt;br /&gt;&lt;span style=&quot;color: #007800;&quot;&gt;cmFtb25Aa3VrbGEuaW5mbw&lt;/span&gt;==&lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt;334&lt;/span&gt; UGFzc3dvcmQ6&lt;br /&gt;bWVpbnBhc3N3b3J0&lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt;235&lt;/span&gt; 2.7.0 Authentication successful&lt;br /&gt;MAIL FROM:ramon&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;@&lt;/span&gt;kukla.info&lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt;250&lt;/span&gt; 2.1.0 Ok&lt;br /&gt;RCPT TO:ramon&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;@&lt;/span&gt;kukla.info&lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt;250&lt;/span&gt; 2.1.5 Ok&lt;br /&gt;DATA&lt;br /&gt;SUBJECT:testmail&lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt;354&lt;/span&gt; End data with &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;&lt;/span&gt;CR&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;&amp;lt;&lt;/span&gt;LF&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;&lt;/span&gt;.&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;&lt;/span&gt;CR&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;&amp;lt;&lt;/span&gt;LF&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;testmail&lt;br /&gt;.&lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt;250&lt;/span&gt; 2.0.0 Ok: queued &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;as&lt;/span&gt; BAA9C19EFD6E&lt;br /&gt;quit&lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt;221&lt;/span&gt; 2.0.0 Bye&lt;br /&gt;&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;read&lt;/span&gt;:&lt;span style=&quot;color: #007800;&quot;&gt;errno&lt;/span&gt;=&lt;span style=&quot;color: #000000;&quot;&gt;0&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
Soweit so prima. Jetzt moechten wir natuerlich noch mal schauen, wie es sich mit IMAP darstellt. Bei IMAP ist wichtig zu wissen, dass alle Kommandos von einem sogenannten &lt;a href=&quot;https://tools.ietf.org/html/rfc3501#section-2.2.1&quot; title=&quot;RFC 3501 - INTERNET MESSAGE ACCESS PROTOCOL - VERSION 4rev1&quot;&gt;Identifier&lt;/a&gt; angefuehrt werden muessen.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;bash geshi&quot; style=&quot;text-align: left&quot;&gt;ramon&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;@&lt;/span&gt;client:~$ openssl s_client &lt;span style=&quot;color: #660033;&quot;&gt;-connect&lt;/span&gt; mailserver:&lt;span style=&quot;color: #000000;&quot;&gt;993&lt;/span&gt;&lt;br /&gt;CONNECTED&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#40;&lt;/span&gt;00000003&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #007800;&quot;&gt;depth&lt;/span&gt;=&lt;span style=&quot;color: #000000;&quot;&gt;0&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #007800;&quot;&gt;O&lt;/span&gt;=Dovecot mail server&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #007800;&quot;&gt;OU&lt;/span&gt;=mailserver&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #007800;&quot;&gt;CN&lt;/span&gt;=mailserver&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #007800;&quot;&gt;emailAddress&lt;/span&gt;=root&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;@&lt;/span&gt;mailserver&lt;br /&gt;verify error:&lt;span style=&quot;color: #007800;&quot;&gt;num&lt;/span&gt;=&lt;span style=&quot;color: #000000;&quot;&gt;18&lt;/span&gt;:self signed certificate&lt;br /&gt;verify &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;return&lt;/span&gt;:&lt;span style=&quot;color: #000000;&quot;&gt;1&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #007800;&quot;&gt;depth&lt;/span&gt;=&lt;span style=&quot;color: #000000;&quot;&gt;0&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #007800;&quot;&gt;O&lt;/span&gt;=Dovecot mail server&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #007800;&quot;&gt;OU&lt;/span&gt;=mailserver&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #007800;&quot;&gt;CN&lt;/span&gt;=mailserver&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #007800;&quot;&gt;emailAddress&lt;/span&gt;=root&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;@&lt;/span&gt;mailserver&lt;br /&gt;verify &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;return&lt;/span&gt;:&lt;span style=&quot;color: #000000;&quot;&gt;1&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #660033;&quot;&gt;---&lt;/span&gt;&lt;br /&gt;Certificate chain&lt;br /&gt;&amp;#160;&lt;span style=&quot;color: #000000;&quot;&gt;0&lt;/span&gt; s:&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #007800;&quot;&gt;O&lt;/span&gt;=Dovecot mail server&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #007800;&quot;&gt;OU&lt;/span&gt;=mailserver&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #007800;&quot;&gt;CN&lt;/span&gt;=mailserver&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #007800;&quot;&gt;emailAddress&lt;/span&gt;=root&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;@&lt;/span&gt;mailserver&lt;br /&gt;&amp;#160; &amp;#160;i:&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #007800;&quot;&gt;O&lt;/span&gt;=Dovecot mail server&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #007800;&quot;&gt;OU&lt;/span&gt;=mailserver&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #007800;&quot;&gt;CN&lt;/span&gt;=mailserver&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #007800;&quot;&gt;emailAddress&lt;/span&gt;=root&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;@&lt;/span&gt;mailserver&lt;br /&gt;&lt;span style=&quot;color: #660033;&quot;&gt;---&lt;/span&gt;&lt;br /&gt;Server certificate&lt;br /&gt;&lt;span style=&quot;color: #660033;&quot;&gt;-----BEGIN&lt;/span&gt; CERTIFICATE-----&lt;br /&gt;MIIDJTCCAo6gAwIBAgIJAO3v57G3iscCMA0GCSqGSIb3DQEBBQUAMGsxHDAaBgNV&lt;br /&gt;BAoTE0RvdmVjb3QgbWFpbCBzZXJ2ZXIxFDASBgNVBAsTC2Zvby5wdGx4LmRlMRQw&lt;br /&gt;EgYDVQQDEwtmb28ucHRseC5kZTEfMB0GCSqGSIb3DQEJARYQcm9vdEBmb28ucHRs&lt;br /&gt;eC5kZTAeFw0xMTAyMjAxMDQzNTBaFw0xMjAyMjAxMDQzNTBaMGsxHDAaBgNVBAoT&lt;br /&gt;E0RvdmVjb3QgbWFpbCBzZXJ2ZXIxFDASBgNVBAsTC2Zvby5wdGx4LmRlMRQwEgYD&lt;br /&gt;VQQDEwtmb28ucHRseC5kZTEfMB0GCSqGSIb3DQEJARYQcm9vdEBmb28ucHRseC5k&lt;br /&gt;ZTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA7CqNuyJwyDYfkhjOYsBdLouu&lt;br /&gt;tLDx&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;QjVulAyisf+YMWwRr&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;ZMI5dZCoB2+VYVk+px4pP0asNjtiMD7&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;aKgPs3SJH&lt;br /&gt;LmcaPIfXayBYVVpwi1jEFhSNowCcQjmoPHAM0PrNJNz9qVGpxJkk&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;kwpXd8kPdBk&lt;br /&gt;Eq1b&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;41Xb7NDbTLZ&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;GUCAwEAAaOB0DCBzTAdBgNVHQ4EFgQU6q65YYtCAUMqLMDi&lt;br /&gt;crAg+zYxfSIwgZ0GA1UdIwSBlTCBkoAU6q65YYtCAUMqLMDicrAg+zYxfSKhb6Rt&lt;br /&gt;MGsxHDAaBgNVBAoTE0RvdmVjb3QgbWFpbCBzZXJ2ZXIxFDASBgNVBAsTC2Zvby5w&lt;br /&gt;dGx4LmRlMRQwEgYDVQQDEwtmb28ucHRseC5kZTEfMB0GCSqGSIb3DQEJARYQcm9v&lt;br /&gt;dEBmb28ucHRseC5kZYIJAO3v57G3iscCMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcN&lt;br /&gt;AQEFBQADgYEARNxqxB3K++zRyB1mdaSU&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;P52yXEb03tqqaV+58lf75hfsBUHnz&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;8&lt;/span&gt;&lt;br /&gt;1GUM2I98HM6r7nsqxG9WjCuNgDfvuZZ4A+5T3O1TPdJViTBZG&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;zAi4lvIHfalF5f&lt;br /&gt;3ZmLUye2qLFlBScxCGdsvZ3RAOg&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;tskbJDgeKr&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #007800;&quot;&gt;HaWAxqRlmcAxO1h8&lt;/span&gt;=&lt;br /&gt;&lt;span style=&quot;color: #660033;&quot;&gt;-----END&lt;/span&gt; CERTIFICATE-----&lt;br /&gt;&lt;span style=&quot;color: #007800;&quot;&gt;subject&lt;/span&gt;=&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #007800;&quot;&gt;O&lt;/span&gt;=Dovecot mail server&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #007800;&quot;&gt;OU&lt;/span&gt;=mailserver&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #007800;&quot;&gt;CN&lt;/span&gt;=mailserver&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #007800;&quot;&gt;emailAddress&lt;/span&gt;=root&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;@&lt;/span&gt;mailserver&lt;br /&gt;&lt;span style=&quot;color: #007800;&quot;&gt;issuer&lt;/span&gt;=&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #007800;&quot;&gt;O&lt;/span&gt;=Dovecot mail server&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #007800;&quot;&gt;OU&lt;/span&gt;=mailserver&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #007800;&quot;&gt;CN&lt;/span&gt;=mailserver&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #007800;&quot;&gt;emailAddress&lt;/span&gt;=root&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;@&lt;/span&gt;mailserver&lt;br /&gt;&lt;span style=&quot;color: #660033;&quot;&gt;---&lt;/span&gt;&lt;br /&gt;No client certificate CA names sent&lt;br /&gt;&lt;span style=&quot;color: #660033;&quot;&gt;---&lt;/span&gt;&lt;br /&gt;SSL handshake has &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;read&lt;/span&gt; &lt;span style=&quot;color: #000000;&quot;&gt;1380&lt;/span&gt; bytes and written &lt;span style=&quot;color: #000000;&quot;&gt;319&lt;/span&gt; bytes&lt;br /&gt;&lt;span style=&quot;color: #660033;&quot;&gt;---&lt;/span&gt;&lt;br /&gt;New, TLSv1&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;SSLv3, Cipher is DHE-RSA-AES256-SHA&lt;br /&gt;Server public key is &lt;span style=&quot;color: #000000;&quot;&gt;1024&lt;/span&gt; bit&lt;br /&gt;Secure Renegotiation IS supported&lt;br /&gt;Compression: NONE&lt;br /&gt;Expansion: NONE&lt;br /&gt;SSL-Session:&lt;br /&gt;&amp;#160; &amp;#160; Protocol &amp;#160;: TLSv1&lt;br /&gt;&amp;#160; &amp;#160; Cipher &amp;#160; &amp;#160;: DHE-RSA-AES256-SHA&lt;br /&gt;&amp;#160; &amp;#160; Session-ID: 7DA8529181D88B345F6DF5771AA502682D534C7816F9036265D69F22A958AA50&lt;br /&gt;&amp;#160; &amp;#160; Session-ID-ctx:&lt;br /&gt;&amp;#160; &amp;#160; Master-Key: 4112D1CB2EE9357F5DF0226395E1D007C1C6401FD8F8EDC4D0C4E1CE0A98A3AA91BEB23165974633A8E60EAC349D2981&lt;br /&gt;&amp;#160; &amp;#160; Key-Arg &amp;#160; : None&lt;br /&gt;&amp;#160; &amp;#160; Start Time: &lt;span style=&quot;color: #000000;&quot;&gt;1318426371&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; Timeout &amp;#160; : &lt;span style=&quot;color: #000000;&quot;&gt;300&lt;/span&gt; &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#40;&lt;/span&gt;sec&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; Verify &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;return&lt;/span&gt; code: &lt;span style=&quot;color: #000000;&quot;&gt;18&lt;/span&gt; &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#40;&lt;/span&gt;self signed certificate&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #660033;&quot;&gt;---&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;*&lt;/span&gt; OK &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#91;&lt;/span&gt;CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE &lt;span style=&quot;color: #007800;&quot;&gt;AUTH&lt;/span&gt;=PLAIN &lt;span style=&quot;color: #007800;&quot;&gt;AUTH&lt;/span&gt;=LOGIN&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#93;&lt;/span&gt; Dovecot ready.&lt;br /&gt;a0001 LOGIN ramon&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;@&lt;/span&gt;kukla.info meinpasswort&lt;br /&gt;a0001 OK &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#91;&lt;/span&gt;CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE SORT &lt;span style=&quot;color: #007800;&quot;&gt;SORT&lt;/span&gt;=DISPLAY &lt;span style=&quot;color: #007800;&quot;&gt;THREAD&lt;/span&gt;=REFERENCES &lt;span style=&quot;color: #007800;&quot;&gt;THREAD&lt;/span&gt;=REFS MULTIAPPEND UNSELECT IDLE CHILDREN NAMESPACE UIDPLUS LIST-EXTENDED &lt;span style=&quot;color: #007800;&quot;&gt;I18NLEVEL&lt;/span&gt;=&lt;span style=&quot;color: #000000;&quot;&gt;1&lt;/span&gt; CONDSTORE QRESYNC ESEARCH ESORT SEARCHRES WITHIN &lt;span style=&quot;color: #007800;&quot;&gt;CONTEXT&lt;/span&gt;=SEARCH&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#93;&lt;/span&gt; Logged &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;in&lt;/span&gt;&lt;br /&gt;a0003 EXAMINE INBOX&lt;br /&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;*&lt;/span&gt; FLAGS &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#40;&lt;/span&gt;\Answered \Flagged \Deleted \Seen \Draft &lt;span style=&quot;color: #007800;&quot;&gt;$label1&lt;/span&gt; &lt;span style=&quot;color: #007800;&quot;&gt;$label2&lt;/span&gt; &lt;span style=&quot;color: #007800;&quot;&gt;$label3&lt;/span&gt; &lt;span style=&quot;color: #007800;&quot;&gt;$label4&lt;/span&gt; &lt;span style=&quot;color: #007800;&quot;&gt;$label5&lt;/span&gt; &lt;span style=&quot;color: #007800;&quot;&gt;$Forwarded&lt;/span&gt;&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;*&lt;/span&gt; OK &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#91;&lt;/span&gt;PERMANENTFLAGS &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#93;&lt;/span&gt; Read-only mailbox.&lt;br /&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;*&lt;/span&gt; &lt;span style=&quot;color: #000000;&quot;&gt;23&lt;/span&gt; EXISTS&lt;br /&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;*&lt;/span&gt; &lt;span style=&quot;color: #000000;&quot;&gt;0&lt;/span&gt; RECENT&lt;br /&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;*&lt;/span&gt; OK &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#91;&lt;/span&gt;UIDVALIDITY &lt;span style=&quot;color: #000000;&quot;&gt;1249171322&lt;/span&gt;&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#93;&lt;/span&gt; UIDs valid&lt;br /&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;*&lt;/span&gt; OK &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#91;&lt;/span&gt;UIDNEXT &lt;span style=&quot;color: #000000;&quot;&gt;25979&lt;/span&gt;&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#93;&lt;/span&gt; Predicted next UID&lt;br /&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;*&lt;/span&gt; OK &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#91;&lt;/span&gt;HIGHESTMODSEQ &lt;span style=&quot;color: #000000;&quot;&gt;10887&lt;/span&gt;&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#93;&lt;/span&gt; Highest&lt;br /&gt;a0003 OK &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#91;&lt;/span&gt;READ-ONLY&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#93;&lt;/span&gt; Select completed.&lt;br /&gt;a0004 FETCH &lt;span style=&quot;color: #000000;&quot;&gt;14&lt;/span&gt; BODY&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#93;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;*&lt;/span&gt; &lt;span style=&quot;color: #000000;&quot;&gt;14&lt;/span&gt; FETCH &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#40;&lt;/span&gt;BODY&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#93;&lt;/span&gt; &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;1467&lt;/span&gt;&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;Return-Path: &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;&lt;/span&gt;ramon&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;@&lt;/span&gt;kukla.info&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;Delivered-To: ramon&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;@&lt;/span&gt;kukla.info&lt;br /&gt;Received: from localhost &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#40;&lt;/span&gt;localhost &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#91;&lt;/span&gt;127.0.0.1&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#93;&lt;/span&gt;&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; by mailserver NuNu &lt;span style=&quot;color: #000000;&quot;&gt;3.3&lt;/span&gt;&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;18&lt;/span&gt;&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt; ipop3d &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#40;&lt;/span&gt;Amiga&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt; with ESMTP &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;id&lt;/span&gt; 21D0E141E0A4;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; Tue, &lt;span style=&quot;color: #000000;&quot;&gt;11&lt;/span&gt; Oct &lt;span style=&quot;color: #000000;&quot;&gt;2011&lt;/span&gt; &lt;span style=&quot;color: #000000;&quot;&gt;22&lt;/span&gt;:&lt;span style=&quot;color: #000000;&quot;&gt;45&lt;/span&gt;:&lt;span style=&quot;color: #000000;&quot;&gt;38&lt;/span&gt; +0200 &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#40;&lt;/span&gt;CEST&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;From: Ramon Kukla &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;&lt;/span&gt;ramon&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;@&lt;/span&gt;kukla.info&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;To: ramon&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;@&lt;/span&gt;kukla.info&lt;br /&gt;Subject: testmail&lt;br /&gt;User-Agent: Yet Another Mailer &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#40;&lt;/span&gt;YAM&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#40;&lt;/span&gt;2.6p1&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;Content-Type: text&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;plain; &lt;span style=&quot;color: #007800;&quot;&gt;charset&lt;/span&gt;=ISO-&lt;span style=&quot;color: #000000;&quot;&gt;8859&lt;/span&gt;-&lt;span style=&quot;color: #000000;&quot;&gt;1&lt;/span&gt;; &lt;span style=&quot;color: #007800;&quot;&gt;format&lt;/span&gt;=flowed; &lt;span style=&quot;color: #007800;&quot;&gt;DelSp&lt;/span&gt;=Yes&lt;br /&gt;MIME-Version: &lt;span style=&quot;color: #000000;&quot;&gt;1.0&lt;/span&gt;&lt;br /&gt;Content-Disposition: inline&lt;br /&gt;&lt;br /&gt;testmail&lt;br /&gt;&lt;span style=&quot;color: #660033;&quot;&gt;--&lt;/span&gt;&lt;br /&gt;Blog: http:&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;//&lt;/span&gt;ramon.kukla.info - http:&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;//&lt;/span&gt;adminstories.de&lt;br /&gt;Software failure&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;!&lt;/span&gt; Press left mouse button to continue.&lt;br /&gt;Guru Meditation &lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;#8100000A.000FEA00&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;a0004 OK Fetch completed.&lt;br /&gt;a0005 LOGOUT&lt;br /&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;*&lt;/span&gt; BYE Logging out&lt;br /&gt;a0005 OK Logout completed.&lt;br /&gt;closed&lt;/div&gt;&lt;br /&gt;
Soweit, so fertig. Wer nicht nur einen, sondern mehrfach Tests mit (s)einem SMTP-Server durchfuehren muss, dem sei &lt;a href=&quot;http://jetmore.org/john/code/#swaks&quot; title=&quot;www.jetmore.org&quot;&gt;swaks&lt;/a&gt; (Swiss Army Knife SMTP) empfohlen. Das erleichtert einem ungemein die Arbeit mit dem ganzen getippe. 
    </content:encoded>

    <pubDate>Fri, 14 Oct 2011 09:00:00 +0200</pubDate>
    <guid isPermaLink="false">http://adminstories.de/index.php?/archives/91-guid.html</guid>
    <category>Anleitungen</category>
<category>command line</category>

</item>

</channel>
</rss>
