Git: Unterordner aus Github herunterladen

Github erlaubt normalerweise nur den kompletten Checkout eines Projektes, was für die Geduld des Users und die Bandbreite des Netzwerkes unbefriedigend ist. Als eines der wenigen Git-Repositories funktioniert aber ein SVN Fallback, der es erlaubt, ein beliebiges Unterverzeichnis herunterzuladen.

Dazu muss auf dem Zielrechner SVN installiert sein (sudo apt-get install subversion).

Der Befehl zum Download:

svn export  https://github.com/medianetix/demo.git/trunk/ordner1/ordner2/

An die https-URL des Repos (demo.git) wird der Ordner „trunk“ angehängt und dann der gewünschte Unterordner (hier: ordner1/ordner2).

Authentication realm: <https://github.com:443> GitHub
Username: medianetix
Password for 'medianetix': ***************

Nach Eingabe Username/Password wird dann der Download der Dateien aus dem entsprechenden Ordner/Unterordner gestartet:

A    ordner2
A    ordner2/.placeholder
A    ordner2/05-06-2018_1138.pdf
A    ordner2/06-02-2018_0547.pdf

Raspberry: Versionen bestimmen über Konsole

cat /sys/firmware/devicetree/base/model

Anzeigen der genauen Bordversion. Um die Board- und Versionsinfos auszulesen wird nachfolgender Befehl eingegeben:

cat /proc/cmdline | awk -v RS=" " -F= '/boardrev/ { print $2 }'

Auslesen des verwendeten Betriebssystem mit:

cat /etc/os-release

CPU-Infos ausgeben mit:

cat /proc/cpuinfo
# Anzahl der Prozessorkerne
cat /proc/cpuinfo | grep processor | wc -l

Postgresql: Records archivieren über common table expressions

Grosse Tabellen machen die Datenbank langsam. In diesem Beispiel werden die Datensätze einer Log-Tabelle nach einem Jahr (366 Tagen) in eine Archiv-Tabelle übertragen. Gelöst wird das Ganze elegant über Common Table Expressions (CTE).

WITH moved_rows AS (     
DELETE FROM log_messages a
WHERE log_time < now() - interval '366 days'
RETURNING a.*
) INSERT INTO log_messages_archive SELECT * FROM moved_rows;