Schlagwort-Archive: linux

Linux: Cronjob – Email abschalten

Wenn ein Cronjob ausgeführt wird, bekommt der ausführende Benutzer eine Email mit den Standardeinstellungen des auszuführenden Programms.

Dies kann bei bestimmten Cronjobs zu lästigen Emails führen, kann aber relativ schnell abgeschalten werden. Hierzu muß lediglich folgende Zeichenfolge ans Ende der Zeile angehangen werden:

> /dev/null 2>&1

Hier ein Beispiel:

10 * * * * /usr/local/meinescripte/meinscript.sh > /dev/null 2>&1

Die wichtigsten vi-Befehle

Wer oft auf Linux Systemen unterwegs ist, wird dort häufig (eigentlich immer) den „vi“ Editor vorfinden. Hier mal einige wichtige Tastaturkürzel, die jeder kennen sollte.

x     Zeichen ausschneiden
dd    Zeile ausschneiden
p     Zwischenablage hinter dem Cursor einfügen
P     Zwischenablage vor dem Cursor einpflegen
u     letzte Änderung zurück nehmen
U     Zeile wiederherstellen
J     zwei Zeilen zusammen fassen
r     ersetze Zeichen unter dem Cursor
R     ersetze bis ESC
i     Text vor dem Cursor eingeben
A     Text an die Zeile anhängen
.     letzten Befehl wiederholen
0     Zeilenanfang
$     Zeilenende
nG    gehe zu Zeile n
/     suche nach (Regular Expression)
n     nächste Fundstelle
N     vorherige Fundstelle
:s/abc/def/      ersetze abc durch def einmal (Regular Expression)
:s/abc/def/g     ersetze in der ganzen Zeile (Regular Expression)
:%s/abc/def/g    ersetze in allen Zeilen
:%s/abc/def/gc   ersetze in allen Zeilen mit Rückfrage
:q!   Beenden ohne Speichern
:wq   Beenden mit Speichern

Wenn jemand noch mehr nützliche Tastaturkürzel kennt, einfach bescheid geben, ich pflege sie dann noch nach.

Dateien mit SCP ohne Passworteingabe kopieren

Für Skripte, die man beispielsweise regelmäßig per Cronjob ausführt, um Dateien von einem Rechner auf einen anderen kopieren zu lassen, kann es etwas hinderlich sein, bei der Ausführung von SCP jedes mal manuell das Passwort einzugeben.

Man könnte die Passwortübergabe zwar in das Skript integrieren, doch dann wäre das Risiko gegeben, dass das Skript nach einer Passwortänderung nicht mehr funktioniert oder, dass neugierige Augen das Passwort in dem Skript ausspionieren.

Zusätzlich hat man dann den Vorteil bei einer SSH-Verbindung, das auch kein Passwort mehr benötigt wird.

Dazu sind folgende Schritte notwendig:

Auf dem Quell Rechner:
Zuerst müssen für den entsprechenden Benutzeraccount (dieser sollte möglichst nur die Rechte haben die er benötigt) die Schlüssel erstellt werden. Die wird mit folgendem Befehl gemacht:

code:
1:
ssh-keygen -t dsa

Bei der Frage nach dem Passwort einfach [Enter] drücken (also leer lassen).

Jetzt werden im Verzeichnis „~/.ssh/“ die Dateien „id_dsa“ und „id_dsa.pub“ angelegt.

Nun müssen wir noch den öffentlichen Schlüssel (und NUR den) auf den Zielrechner per SCP kopieren:

code:
1:
scp ./.ssh/id_dsa.pub meinBenutzerName@server2:~/public-key.tmp

Auf dem Ziel Rechner:
Zunächst loggen wir uns mit dem entsprechenden Benutzer ein. Dann erstellen wir das „.ssh“ Verzeichnis, sofern es noch nicht vorhanden ist und setzen die Verzeichnisrechte:

code:
1:
2:
3:
mkdir .ssh
chmod 700 .ssh

Anschließend müssen wir unsere Datei „public-key.tmp“ am Ende der Datei „authorized_keys“ anhängen. Diese Datei enthält eine Liste sämtlicher öffentlicher Schlüssel von Rechnern, die sich ohne Passwort an unserem Account auf dem Zielrechner anmelden dürfen.

code:
1:
cat ~/public-key.tmp>> ~./.ssh/authorized_keys

Nun sollte noch die Datei „public-key.tmp“ gelöscht werden:

code:
1:
rm ~/public-key.tmp

Jetzt kann man Dateien unter dem entsprechenden Benutzer ohne Passworteingabe per SCP kopieren sowie sich per SSH einloggen.