Posts Tagged ‘ bash

bash | History aufwerten

Wenn man öfter auf der Kommandozeile arbeitet lernt man die History-Funktion zu schätzen. Hier eine lose Aufstellung einiger Möglichkeiten, wie man die History-Funktion noch weiter aufbohren und an seine Bedürfnisse anpassen kann.
Update: Aufgrund von weiteren Recherchen und des Kommentars auf macfidelity habe ich diesen Artikel noch einmal überarbeitet und weitere Informationen hinzugefügt.
Weiterlesen

bash | Shell einrichten

Gerade bei OSX kommt man ja meist drumherum mit der Kommandozeile zu arbeiten – dabei kann man in der Shell einiges schneller bzw. einfacher machen und um gewisse Einstellungen von OSX (wie zum Beispiel hier und hier beschrieben) zu ändern kommt man nicht umher das Terminal zu öffnen. Weiterlesen

bash | Backups mit tar

BashIn einem älteren Artikel habe ich mich schon mal damit beschäftigt, wie man in *nix-basierten Betriebssystemen leicht Backups anlegen kann. Da der Bedarf bei mir wieder mal akuter wurde, haber ich mich wieder mal damit beschäftigt und möchte hier erklären, wie man was machen kann.

Weiterlesen

bash | schnelles Backup anlegen

Bei Jann habe ich Folgendes unter dem Stichwort In der Shell schnell mal alle Dateien im Verzeichnis nach *.bak sichern gelesen:

Kurznotiz, gilt für Mac / Linux / Unix / (bei Windows hilft nur “format c:” ;) )
Oft muss ich in einem Ordner schnell mal alle Dateien sichern als Backup da ich sie im nächsten Moment überschreibe. Um nicht den ganzen übergeordneten Ordner gleich komplett sichern zu müssen sondern nur die Dateien im aktuellen Ordner ohne Unterverzeichnisse zu sichern habe ich folgenden befehl:
for i in *.*; do cp $i $i.bak ;done
Alle Dateien im Ordner werden dann von xyz.txt nach xyz.txt.bak kopiert, wer anstelle des kopieren die Daten verschieben will ersetzt im script einfach “cp” mit “mv” Wer in einem Verzeichnis nur bestimmte Dateitypen z.B. *.html sichern mag macht dies dann so:
for i in *.html; do cp $i $i.bak ; done
somit werden an alle *.html Dateien im Ordner nach *.html.bak gesichert Das gleiche geht mit jedem beliebigen Dateityp ^^

Lange habe ich drüber nachgedacht, da ich den Ansatz etwas zu kompliziert finde und da ich gerade in dem Buch Einführung in die BASH lese und mal schauen wollte, was davon bei mir hängen geblieben ist, habe ich folgendes ausprobiert:

tar -cz --no-recursion -f backup-$(date +%F-%H-%M).tar.gz *

Das Ganze als Alias definiert mit Übergabe der Dateiextension sieht dann so aus:

alias archive='tar -cz --no-recursion -f backup-$(date +%F-%H-%M).tar.gz $1'

Damit kann man später schnell mit

archive *.html

schnell alle HTML-Files eines Verzeichnisses sichern und weiß gleich von wann die Sicherung ist.

debian | Zertifikaterstellungsskript

Wenn man mit https seine Webseiten bzw. deren Kommunikation oder aber das Senden von Emails über SSL absichert, dann kommt man nicht drumherum ab und an ein neues Zertifikat auszustellen. Da ich das nicht jeden Tag mache und mich dann immer wieder totsuche, habe ich mir ein kleines Skript geschrieben:

#! /bin/sh
cd /etc/ssl
openssl req -new -nodes -out $1-req.pem -keyout private/$1-key.pem -config ./openssl.cnf
openssl ca -out $1.pem -config ./openssl.cnf -infiles $1-req.pem
openssl x509 -in $1.pem -out $1-cert.pem

Update: Damit ich das Skript systemweit verwenden kann lege ich es nach /usr/local/bin als create_certs und mache es mit dem Befehl

chmod g+x /usr/local/bin/create_certs

ausführbar.

Update 2: Warum hat mir eigentlich keiner gesagt, das die temporäre Datei $1.pem, die in der dritten openssl-Zeile benötigt wird um aus dem Request ein fertiges Zertifikat zu machen, natürlich am Ende des Skripts gelöscht werden kann? Ein

rm $1.pem

in der letzten Zeile sollte reichen.