(r)syslog nach logrotate neu laden

Wenn logrotate alte Logdateien rotiert, muss rsyslog seine Dateihandles neu öffnen, sonst schreibt es weiter in die alten (nun rotierten) Files, was zum Problem mit offenen Dateihandles führt.
Doch mit welchem postrotate Aufruf macht man das am besten? Im laufe der Zeit hat es einige Varianten gegeben.

Continue reading (r)syslog nach logrotate neu laden

Sonoff ZBDongle-E auf Raspberry Pi Flaschen

Da mein bisheriges Setup mit RaspBee2 von Phoscon auf einem Raspberry Pi eher mässig funktionierte (es war „Glückssache“, ob ein neues Gerät gefunden wurde, oder nicht), habe ich mir nach dem Lesen des Artikels Zigbee2MQTT: Dein Smart Home unabhängiger machen den Sonoff Zigbee 3.0 USB Dongle Plus (ZBDongle-E) USB Adapter und ein passendes USB Verlängerungskabel gekauft.

Die Standard Firmware auf diesem Dongle war jedoch zu alt um mit Zigbee2MQTT zu funktionieren.

Das Flaschen mit passender Firmware war allerdings etwas tricky, auch weil viele Informationen und Links veraltet waren.
Hier der Weg wie es geklappt hat.

Continue reading Sonoff ZBDongle-E auf Raspberry Pi Flaschen

MariaDB Cluster geordnet stoppen- und starten

Manchmal kann es notwendig sein einen ganzen Galera Cluster herunterzufahren (etwa um offline Snapshots zu machen) und dann wieder hochzufahren.

Wenn dies geordnet passiert, gibt es danach auch keine „Split-Brain“ Situationen.

Continue reading MariaDB Cluster geordnet stoppen- und starten

Linux Partitionstabelle löschen

Vor einer Neuinstallation von Linux macht es Sinn die Festplatte zu formatieren, weil z.B. Ubuntu es einem nicht erlaubt denselben Volume Group Namen zu verwenden, welcher das vorherige System schon hatte. Dabei muss man noch nicht einmal zeitaufwändig die ganze Festplatte löschen; es reicht auch schon, wenn man nur die Partitionstabelle löscht. Und das geht sogar bei laufendem System.

Continue reading Linux Partitionstabelle löschen

Sicherstellen dass ein Script nur einmal läuft

Bei Shell Scripts will man oft verhindern, dass das Script zweifach aufgerufen werden kann und dann parallel läuft, etwa bei einem Backup Prozess.

Die gängigen Methoden, wie das prüfen ob der Prozess läuft oder anlegen einer PID Datei sind nicht die besten. Es gibt eine weitaus elegantere- und technisch bessere Methode.

Continue reading Sicherstellen dass ein Script nur einmal läuft

Serielle Konsole (RS232) öffnen

Es gibt teilweise noch Geräte, wie die PC Engines APU2, die keine Grafikschnittstelle haben und nur via serielle Konsole drauf zugegriffen werden kann, beispielsweise mittels einem USB zu RS232 Adpaters.

Unter Windows verwendet man dafür das Programm PuTTY, unter Linux und MacOS geht das mit screen.

Continue reading Serielle Konsole (RS232) öffnen

ansible: object has no attribute ‚cert_file‘

Wenn man in ansible eine Task wie etwa apt_key oder uri ausführt failed das mit der Meldung:

An unknown error occurred: HTTPSConnection.__init__() got an unexpected keyword argument 'cert_file'"

Schuld daran ist eine inkompatible neuere Python Version zu älteren Ansible Versionen.

Da in älteren Ansible Versionen beim URL Handling das das Python Attribut cert_file hardcoded ist, welches ab Python 3.12 entfernt wurde, kommt hier der Fehler. Folglich lassen sich diese Ansible Versionen mit Python >= 3.12 nicht mehr nutzen.

Continue reading ansible: object has no attribute ‚cert_file‘

UniFi: Erweiterte Konsole

Wenn man sich per SSH auf UniFi Geräte (z.B. einen Switch) verbindet, landet man in einer eingeschränkten Shell. Um die volle CLI zu nutzen, muss man sich per telnet auf den host verbinden.

Auf diese Möglichkeit wird meist nicht hingewiesen, weshalb diese Methode grösstenteils unbekannt ist.

Continue reading UniFi: Erweiterte Konsole