Dies, das und das anderealles was woanders nicht reinpasst
Hier werde ich kleine hilfreiche Scripts, Code-Schnispel, Links zu Webseiten und was auch immer ich für Verbreitungswürdig halte, reinpacken. Vorerst wird hier einfach alles chronologisch absteigend zu finden sein, später dann evtl. mit Kategorien etc.
Ich hoffe, es ist für den ein oder anderen etwas dabei. Bei Rückfragen oder Kommentaren einfach die Kontakt-Seite bemühen
Extract MP3 from MP4
2016-05-05, Timo HenkeEs kommt des öfteren Vor, dass ich aus mir vorliegenden MP4 Videos nur die Tonspur extrahieren möchte. Es gibt sehr viele Wege dies zu tun aber der, wie ich finde, einfachste Weg ist ein BASH-Einzeiler unter Verwendung von avconf:
Hiermit wird für jede .mp4 Datei eine .mp3 Datei mit der Tonspur angelegt. Natürlich kann man dieses Vorgehen auch für andere Anwendungsscenarien einsetzen, be creative :-)
for mp4file in /folder/with/mp4files/*.mp4; do avconv -i "$mp4file" -vn -ab 128k "${mp4file%.mp4}.mp3"; done
Hiermit wird für jede .mp4 Datei eine .mp3 Datei mit der Tonspur angelegt. Natürlich kann man dieses Vorgehen auch für andere Anwendungsscenarien einsetzen, be creative :-)
Nagios: Mass Acknowledge
2016-01-14, Timo HenkeAls Linux Administrator hat man des öfteren das Problem, dass man auf diversen Servern für bestimmte Services oder gar ganze Hosts Downtimes definiert, weil man z.B. Wartungsarbeiten durchführt.
Problematisch wird es allerdings dann, wenn man diese ganzen Downtimes wieder entfernen möchte. Denn: Nagios bietet hierfür keine Bordmittel.
Aufgrund dieser Tatsache habe ich ein kleines rudimentäres PHP Script geschrieben, mit dessen Hilfe man unter Verwendung eines regulären Ausdrucks alle Service- oder Hostdowntimes finden und aufheben lassen kann.
Sicherlich kann man so ein Script auch in BASH schreiben, ich persönlich bin aber eher ein Fan von PHP und auf dem Nagios-Server meines Vertrauens ist PHP entsprechend vorhanden.
Mir hat das Script bereits mehrfach geholfen, ggf. hilft es dem ein oder anderen auch oder dient als Idee für eigene Implementierungen.
Problematisch wird es allerdings dann, wenn man diese ganzen Downtimes wieder entfernen möchte. Denn: Nagios bietet hierfür keine Bordmittel.
Aufgrund dieser Tatsache habe ich ein kleines rudimentäres PHP Script geschrieben, mit dessen Hilfe man unter Verwendung eines regulären Ausdrucks alle Service- oder Hostdowntimes finden und aufheben lassen kann.
<?php
define('NAGIOS_DAT', '/var/nagios/status.dat' ); // path to nagios status.dat file
define('NAGIOS_CMD', '/var/nagios/rw/nagios.cmd' ); // path to nagios rw command-pipe
$matches = '(comment=xxx)'; // regular expression to detect desired downtime blocks
if( preg_match_all('/(servicedowntime|hostdowntime) \{(.*?)\}/si',file_get_contents( NAGIOS_DAT ),$m) )
{
foreach( $m[1] as $id => $typ )
{
if( preg_match('/'.$matches.'/si',$m[2][$id]) )
{
$downtime = [];
foreach( preg_split('/\r?\n/',trim($m[2][$id])) as $row )
{
list($k,$v) = explode('=',trim($row),2);
if( $k == 'downtime_id' )
{
$cmd = ($typ == 'servicedowntime') ? 'DEL_SVC_DOWNTIME' : 'DEL_HOST_DOWNTIME';
$Command = sprintf('[%s] %s;%d'."\n", time(), $cmd, $v);
echo $Command;
file_put_contents( NAGIOS_CMD, $Command, FILE_APPEND );
break;
}
}
}
}
}
Sicherlich kann man so ein Script auch in BASH schreiben, ich persönlich bin aber eher ein Fan von PHP und auf dem Nagios-Server meines Vertrauens ist PHP entsprechend vorhanden.
Mir hat das Script bereits mehrfach geholfen, ggf. hilft es dem ein oder anderen auch oder dient als Idee für eigene Implementierungen.
Odin Plesk: eigene Templates für Apache und Nginx
2016-01-09, Timo HenkeSofern man an den Standardkonfigurationen der VHosts für den Apache und / oder den Nginx etwas anpassen möchte, so wie in meinem Fall das deaktivieren des "X-Powered-By Plesklin" Headers, ist es ratsam nicht am Original rumzufummeln sondern an einer Kopie.
Plesk bietet hier die Option, dass man eigene Templates in einem "custom" Ordner anlegt und diese vor dem "default" geladen werden.
Um nun eigene Templates für den Apache und den Nginx anzulegen und so auch bei Updates seine Modifikationen nicht zu verlieren kann man das folgende als ROOT an der Linux Konsole ausführen:
Der Code ist für ein Centos7 mit Plesk 12.5 System und muss ggf. bzgl. der Pfade auf anderen Distributionen angepasst werden.
Plesk bietet hier die Option, dass man eigene Templates in einem "custom" Ordner anlegt und diese vor dem "default" geladen werden.
Um nun eigene Templates für den Apache und den Nginx anzulegen und so auch bei Updates seine Modifikationen nicht zu verlieren kann man das folgende als ROOT an der Linux Konsole ausführen:
Der Code ist für ein Centos7 mit Plesk 12.5 System und muss ggf. bzgl. der Pfade auf anderen Distributionen angepasst werden.
#!/bin/bash
mkdir -p /usr/local/psa/admin/conf/templates/custom/domain;
cp /usr/local/psa/admin/conf/templates/default/server.php /usr/local/psa/admin/conf/templates/custom/server.php;
cp /usr/local/psa/admin/conf/templates/default/domain/nginxDomainVirtualHost.php /usr/local/psa/admin/conf/templates/custom/domain/nginxDomainVirtualHost.php;
/usr/local/psa/admin/sbin/httpdmng --reconfigure-all;
Nginx: GZip aktivieren
2016-01-09, Timo HenkeEvtl. kennen das einige von euch: Man macht sich die Mühe und optimiert die .htaccess für den Apache um alle sinnvollen Dateitypen durch GZip / Deflate komprimieren zu lassen und somit die Ladezeiten zu drücken und / oder die Datenmenge für mobile Besucher zu verringern.
Der Apache macht dies auch anstandslos aber der werte Reverse-Proxy liefert diese Daten (.css, .js etc.) dann leider doch wieder unkomprimiert aus.
Das kleine Codeschnispel hier legt eine zusätzliche .conf Datei für den nginx ab, in welcher die Komprimierung aktiviert wird.
Der Code ist für ein Centos7 mit Plesk System und muss ggf. bzgl. der Pfade auf anderen Distributionen angepasst werden.
Der Apache macht dies auch anstandslos aber der werte Reverse-Proxy liefert diese Daten (.css, .js etc.) dann leider doch wieder unkomprimiert aus.
Das kleine Codeschnispel hier legt eine zusätzliche .conf Datei für den nginx ab, in welcher die Komprimierung aktiviert wird.
Der Code ist für ein Centos7 mit Plesk System und muss ggf. bzgl. der Pfade auf anderen Distributionen angepasst werden.
#!/bin/bash
/bin/cat << EOF >> /etc/nginx/conf.d/zz99_gzip_on.conf
gzip on;
gzip_comp_level 4;
gzip_http_version 1.1;
gzip_proxied any;
gzip_min_length 1100;
gzip_buffers 16 8k;
gzip_types text/plain text/css application/javascript application/x-javascript text/xml application/xml application/xml+rss text/javascript application/xhtml+xml;
# Disable for IE < 6 because there are some known problems
gzip_disable "MSIE [1-6].(?!.*SV1)";
# Add a vary header for downstream proxies to avoid sending cached gzipped files to IE6
gzip_vary on;
EOF
chown root:nginx /etc/nginx/conf.d/zz99_gzip_on.conf;
chmod 600 /etc/nginx/conf.d/zz99_gzip_on.conf;
service nginx restart;