Monat: Juli 2017

Patch für automysqlbackup: mysqldump: [Warning] Using a password on the command line interface can be insecure.

In der aktuellen Version von automysqlbackup kommt es auf Ubuntu 16.04 LTS wieder zu der Fehlermeldung: mysqldump: [Warning] Using a password on the command line interface can be insecure. Es gab vor einiger Zeit bereits einen Patch für das Problem allerdings hat sich der Code geändert dementsprechend waren anpassungen nötig. […]

Weiterlesen

Python: Snippet – Python Code aus Textdateien ausführen/importieren

Check_MK speichert alle Daten in einfachen Dateien direkt als ausführbaren Python Code. Um die abgelegten Dictionarys etc. in seinen eigenen Skripten weiterverwenden zu können kann man sich die mit eval() oder exec() laden. eval() kann verwendet werden um z.B.  ein Dictionary in eine Variable zu laden, exec() kann auch ganze Funktionen […]

Weiterlesen

Python: Snippet – Speichern und weiterverwenden von Objekten

Mit dem Modul pickle (deutsch pökeln, konservieren) bietet Funktionen für das Speichern von Objekten. Die gespeicherten Objekte können wiederhergestellt werden. Die Daten werden als Byte Stream gespeichert. Folgende Datentypen werden unterstützt: int, long, complex, float unicode, str list, tuple, dict uvm. siehe Dokumentation (https://docs.python.org/2/library/pickle.html / https://docs.python.org/3/library/pickle.html ) Hier ein kleines Beispiel: dict_to_file.py #!/usr/bin/env […]

Weiterlesen

Python: Snippet – Suchen und ersetzen in Dateien

Der Titel des Posts sagt eigentlich schon alles 😉 Python 3: #!/usr/bin/env python3 import fileinput import re file = fileinput.FileInput(„/etc/ssh/sshd_config“, inplace=True, backup=“.bak“) for line in file: line = re.sub(r“.*Banner.*“,“Banner /etc/issue.net“, line) print(line, end=“) file.close() Python 2: #!/usr/bin/env python import fileinput import re import sys file = fileinput.FileInput(„/etc/ssh/sshd_config“, inplace=True, backup=“.bak“) for […]

Weiterlesen

Python: Snippet – Threading mit Result

Code-Snippet: #!/usr/bin/env python import socket from multiprocessing.pool import ThreadPool import pprint jobs = („www.heise.de“,“www.google.com“,“www.golem.de“,“www.google.de“,“www.lanbugs.de“,“www.microsoft.com“) def worker(domain): print socket.gethostbyname(domain) return socket.gethostbyname(domain) pool = ThreadPool(processes=3) result_buffer = {} for d in jobs: print „start “ + d async_result = pool.apply_async(worker, args=(d,)) result_buffer[d]=async_result.get() pprint.pprint(result_buffer) Ausgabe: >python thread_with_result.py start www.heise.de 193.99.144.85 start www.google.com 172.217.20.68 […]

Weiterlesen

Unattended Installation von APT Paketen (Debian/Ubuntu)

Um Pakete ohne manuelle Eingaben zu Installieren müssen die Antworten für die Assistenten bereits vorliegen. Als Beispiel eine unattended Installation von Postfix auf einem Ubuntu 16.04 LTS System. Um die möglichen Parameter zu erfahren verwendet man das „debconf-show“ Tool, Postfix muss auf dem Testsystem bereits installiert sein. max@cmkdevel:/opt$ sudo debconf-show […]

Weiterlesen

Check_MK: Inventory erweitern mit SNMP Daten

Check_MK hat seit Version 1.2.5i1 das Feature Inventory an Board. Per Default werden von Systemen CPU, Memory, Harddisks, Softwarepakete und vieles mehr eingesammelt. Die Anleitung dient dazu das Inventory zu erweitern und eigene Informationen per SNMP einzusammeln und per View durchsuchbar zu machen. Ich habe mittlerweile mehrere eigene Ergänzungen gemacht, […]

Weiterlesen

Python: Oracle DB Modul für Python für CentOS6

Quelle: https://gist.github.com/hangtwenty/5547377 #!/bin/bash # INSTALL ORACLE INSTANT CLIENT # ################################# # NOTE: Oracle requires at least 1176 MB of swap (or something around there). # If you are using CentOS in a VMWare VM, there’s a good chance that you don’t have enough by default. # If this describes you and […]

Weiterlesen

Check_MK: Werte simulieren in einem SNMPwalk

Wer in Check_MK mittels gespeicherter SNMP Walks Checks entwickelt möchte unter umständen auch gerne sich ändernde Werte haben und keine statischen aus dem Dump. Check_MK hat 3 eingebaute Funktionen um steigende Counter etc. zu simulieren. Ausschnitt aus dem Check_MK Code lib/python/cmk_base/agent_simulator.py (GPLv2): def agentsim_uptime(rate = 1.0, period = None): # period […]

Weiterlesen

Python: Snippet Argumente für Command Line Tools mit getopt oder argparse

Mein persönlicher Favorit ist argparse, der Vollständigkeit halber aber beide Lösungen. getopt und argpase sind beide bei Python dabei und müssen nicht nachinstalliert werden. GETOPT Ansatz: #!/usr/bin/env python import getopt import sys def usage(): print „test1.py – A test script.\n“ \ “ -p, –print Return a string \n“ \ “ […]

Weiterlesen

Python: Snippet – In einer Datei suchen und Zeilennummern zurückgeben

test.txt in der Gesucht wird nach foobar: wer w erw erwer foobar sfsdfhsdkjfhkjsdf sdf sdf sdf sdf sdf sdflskdjflsdjflksjflksjf sdfkjsdfjkhskjhffoobardjskfhskdjhfkjsdhfkjshdf sflksdjfjklsdfjs dfs dfs df sdf sdf dsf Testscript zum Suchen: #!/usr/bin/env python filename = ‚test.txt‘ search = ‚foobar‘ with open(filename) as f: for num, line in enumerate(f, 1): if search […]

Weiterlesen