Beim Entwickeln von Software ist es völlig selbstverständlich, die Dateien, an denen man arbeitet, zu versionieren mit git oder ähnlichem. Beim Administrieren kommt das nur langsam „in Mode“ – v.a. im Zusammenhang mit automatischem Deployment – z.B. mit Ansible, Infrastructure as a service (Iaas) bzw. Infrastructure as Code (IaC). Aber auch bei der „klassischen“ Administration Read More…
Schlagwort: command-line
Remote Backup mit borg
„borg backup“ ist mein aktuelle favorisiertes remote-Backup-Tool: Viele Daten liegen bei mir inzwischen „rum“, die ich auf keinen Fall verlieren möchte: Von Fotos über Programmcode bis hin zu gescannten Dokumenten, die ich nicht mehr in Papier aufhebe. Neben den lokal mit BackupPC erstellen Backups mache ich immer noch (mindestens zwei) verschiedene Backups auf entfernte Ziele… Read More…
dm-crypt / LUKS
Ein verschlüsseltes Dateisystem einrichten geht mit LUKS einfach. Beachte: Hier wird ein ganzes Dateisystem verschlüsselt – nicht die einelnen Files. So geht’s: Einrichten: cryptsetup -v luksFormat /srv/storage/crypted-disk.dd –type luks2 echo -n meinpw | cryptsetup -v open /srv/storage/crypted-disk.dd decrypted-disk –key-file – mkfs.ext4 /dev/mapper/decrypted-disk cryptsetup -v close decrypted-disk Danach Mounten: echo -n meinpw | cryptsetup -v open Read More…
Korrupte mysql-Datenbank reparieren
Nach einem Stromausfall von ca. 1 Stunde diese Woche hatte ich eine korrupte mysql-Datenbank: Eine der mysql-Datenbanken war so kaputt, dass sie sich nicht mehr von selber reparieren und hochfahren konnte. Eigentlich hätte ich von einer „ordentlichen“ DB erwartet, dass sie das wirklich selber „löst“… Naja, also musste ich selber Hand anlegen und die korrupte Read More…
Apple Fotos exportieren: Dateinamen „ordentlich“
Fotos aus Apple Fotos exportieren geht mit „Ablage“ -> „Exportieren“. Die Fotos werden zu JPG-Dateien, sie haben aber immer einen für mich „unmöglichen“ Dateinamen der Form meinefotos – 1.jpg bis z.B. meinefotos – 123.jpg. Und zwar mit Leerzeichen und ohne führende Null. Das „geht gar nicht“. Schon oft habe ich das in der Shell oder Read More…
Kommandozeilen-Owncloud-Client ohne Oberfläche
Ich möchte mein owncloud-Verzeichnis auf einem Linux-Server syncen, der selber keine grafische Oberfläche hat. Der „offizielle“ Owncloud-Client benötigt wohl immer eine grafische Oberfläche. Lösung ist ein Kommandozeilen-Owncloud-Client ohne Oberfläche: owncloudcmd. Installiert wird er unter Linux (Debian/Ubuntu) mit apt-get install owncloud-client-cmd Danach sync ich ganz einfach mit diesem simplen CronJob: */10 * * * * sudo Read More…
Homebrew aus dem Alltag
Hier ein paar Dinge zu Homebrew aus dem Alltag, die ich gelernte habe: Homebrew Cask Homebrew Cask erweitert brew um die Möglichkeit „normale“ Programme/Binaries zu installieren. Aktiviert wird das so: brew tap caskroom/cask und dann z.B. brew cask search keepass brew cask install keepassxc Alles aktualisieren und aufräumen: Zur Convenience: #!/bin/bash -e brew -v update Read More…
fail2ban mit Ansible und mehr ssh-Sicherheit
Ich will einen Host im „offenen“ Internet via ssh erreichbar machen. Um da noch etwas mehr Sicherheit zu bekommen, habe ich Maßnahmen ergriffen: fail2ban mit Ansible aktivieren, Passwort-Logins verbieten und root-Login nur von internen IPs erlauben. Wer fail2ban noch nicht kennt, findet hier mehr Infos: Im Kern macht es Ports zu, sobald eine bestimmte Aktion Read More…
Logo in den Mailfooter integrieren (Image embedden)
Wenn man ein (Firmen-) Logo im E-Mail-Footer hat, dann stellt sich die Frage, ob man das Logo von einem (Web-) Server laden lassen will oder ob es direkt in die Mail integriert sein soll. Es gibt verschiedene Aspekte bei dieser Entscheidung. Hier sind z.B. einige aufgeführt. Für mich überwiegt das Argument, dass viele Mail-Clients Bilder Read More…
jq: ein sed für JSON
jq ist ein sehr nützliches Tool, um JSON-Dateien (bzw. z.B. JSON-Ausgaben) auf einfache Weise zu bearbeiten, filtern oder transformieren. Ich habe es schonmal erwähnt. Installiert wird es „normal“ via brew install jq (Mac) bzw apt-get install jq (Linux). Hier ein hübsches Beispiel aus der Praxis zur Demonstration: cat my.js | jq ‚ .itemContents[] | select(.item.status Read More…