Veeam Backup und Powershell – fail !
Da Veeam Backup in der Version 5.01 Powershell unterstützt, wollte ich mal sehen, was man damit schönes Scripten kann … „mach mal schnell ein Backup der Machine…“
get-PSSnapIn "VeemPSSnapIn"
Alle Verfügbaren Commands bekommt man dann mit:
get-VBRCommand
Der erste Test: liste mir alle bekannten Server in Veeam auf:
get-VBRServer
OK, da sind jetzt ein paar in der Liste, die es nicht mehr gibt. Die kann man doch sicher auch löschen.
remove-VBRServer -Name "toterserver"
FAIL
remove-VBRServer kennt als Paramater leider keine Property -Name. Man kann nur über Pipe ein VBRServer Objekt übergeben …
OK, nächster Versuch
get-VBRServer -Name "toterserver"
FAIL
get-VNRServer kennt leider keinen Parameter -Name. Man kann nur über Pipe ein Objekt VBRServer übergeben … Hatten wir schonmal, oder?
OK, dann die ganz ausfühliche Version:
get-VBRServer | where { $_.Name -eq "toterserver" } | remove-VBRServer
Nach Zustimmung wird dann auch der Server gelöscht.
An dem Punkt ist mir eigentlich die Lust vergangen, etwas Sinnvolles mit Powershell und Veean zu versuchen …
http://en.wikipedia.org/wiki/Cat_%28Unix%29#Useless_use_of_cat
Nagios, Mailgraph, check_logfile
zur Statistischen Erfassung war auf dem alten Mailserver „mailgraph“ installiert. Das Problem für mich war, das ich die Daten nicht brauchbar ins Nagios bekommen habe (check_rrd etc).
Die Lösung: Das Maillog mit check_logfile parsen und das Ergebniss als Performance Daten für Nagios ausgeben.
Aufruf von check_logfile in der nrpe.cfg:
command[check_mailflow]=sudo /usr/lib/nagios/plugins/check_logfiles -f /etc/nagios-plugins/config/logfile.cfg
In der logfile.cfg sind die Parser für
- recive – Mail an den Exchange weitergeleitet
- bounce – allgemeine Bounces
- block – durch RBL geblocke Mails
- block-nouser – wegen ungültiger Benutzer geblockte Mail
our $sendcount = 0; our $bouncecount = 0; our $blockcount = 0; our $nousercount = 0; @searches = ({ tag => 'postfix', logfile => '/var/log/mail.log', rotation => 'loglogdate8gz', options => 'supersmartscript,noprotocol,supersmartpostscript', criticalpatterns => '.*', script => sub { if ( $ENV{CHECK_LOGFILES_SERVICEOUTPUT} =~ /\bstatus=sent\b/){ if ( $ENV{CHECK_LOGFILES_SERVICEOUTPUT} !~ /\brelay=[^\s\[]*\[127\.0\.0\.1\]/ ){ $sendcount++; } } if ( $ENV{CHECK_LOGFILES_SERVICEOUTPUT} =~ /\bstatus=bounced\b/) { $bouncecount++; } if ( $ENV{CHECK_LOGFILES_SERVICEOUTPUT} =~ /\b.*NOQUEUE: .*reject: .*: 554.* blocked using\b/) { $blockcount++; } if ( $ENV{CHECK_LOGFILES_SERVICEOUTPUT} =~ /\b.*NOQUEUE: .*reject: .*: 550.* Recipient address rejected\b/) { $nousercount++; } }, }); $options = 'supersmartpostscript'; $postscript = sub { my $tic = $CHECK_LOGFILES_PRIVATESTATE->{postfix}->{lastruntime} || 0; my $tac = time; my $runtime = ($tac - $tic); my $sendrate = 60 * ( $sendcount / $runtime ); printf "OK - recive: %.1f bounce: %.1f block: %.1f block-nouser: %.1f | recive=%.1f;bounce=%.1f;block=%.1f;block-nouser=%.1f\n", $sendra te, $bouncecount, $blockcount, $nousercount, $sendrate, $bouncecount, $blockcount, $nousercount; return 0;
Fototour über den III. Städtischer Friedhof Stubenrauchstraße
eigentlich wollten wir nur beim Bäcker „Bäcker Mann“ http://www.baecker-mann.de/ in Berlin am Südwestkorso einen Kaffee trinken und ein leckeres Brötchen essen.
Der Friedhof gleich um die Ecke versprach aber ein paar schöne Fotos …
Gleich am Eingang dann eine Tafel mit den Ehrengräbern der Stadt Berlin. Oups!
Marlene Ditrich, Helmut Newton und noch viele, mir leider unbekannte Berliner Persönlichkeiten!
Die Recherche Abends ergab dann, das es sich um den
III. Städtischer Friedhof Stubenrauchstraße handelt.
Meiner Meinung nach einer der schönesten Friedhöfe Berlins, mit unzähligen schönen, spannenden, interessanten und nachdenklichen Orten.
Alles Pico bello in Berlin
PHP 5.3.3 PHP-FPM für Nginx compilieren
Nachdem ja wie angekündigt in PHP 5.3.3 FPM fest integriert ist, habe ich also meinen Server umgestellt. PHP 5.3.3 herunterladen und dann geht irgendwie alles nach Standardprozedur ... tar xvfz php-5.3.3.tar.gz cd php-5.3.3 ./configure --prefix=/usr/local --sysconfdir=/etc/php --enable-fpm --with-mcrypt --with-zlib --enable-mbstring --with-curl --disable-debug --disable-rpath --enable-inline-optimization --with-bz2 --with-zlib --enable-sockets --enable-sysvsem --enable-sysvshm --enable-pcntl --enable-mbregex --with-mhash --with-xsl --with-pcre-regex --with-mysqli --with-mysql --enable-exif --with-gd --with-ldap --with-pdo-mysql --with-bz2 --with-t1lib --with-jpeg-dir=/usr --with-png-dir=/usr --with-gettext make make install Die notwendigen Anpassungen an der php-fpm.conf sind äquivalent eines gepatchten 5.2. Gestartet wird der FPM Prozess dann über: /usr/local/sbin/php-fpm Was auffällt, das keine pear und pecl bei der Installation dabei sind. Ich habs dann irgendwie doch noch von Hand nachinstalliert bekommen. cd pear/ phar install-pear-nozlib.phar php fetch.php make install-su phar go-pear.phar phar extract -f go-pear.phar