Daten Synchronisieren?

Der Einer oder Andere, schleppt sicherlich einen USB-Stick mit sich herum.
Als ich daran dachte, wenn es einmal zu einem Ausfall dieses kommt, was dann?

Um dieser Gefahr gleich aus dem Weg zu gehen, kann man mit rsync die Daten einer Quelle dabei ist egal ob es sich um einen Flashspeicher oder eine Festplatte handelt, mit einem Ziel abgleichen.

Step 1:

sudo apt-get install rsync

Installiert rsync, falls es noch nicht lokal zur Verfügung steht.

Step 2:

rsync -a /<Quelle>/ /<Ziel>/

Quelle kopiert die Daten zum Ziel. Beim darauf folgenden Durchgang, wird geschaut was sich geändert hat z.B. ein Neuer Ordner angelegt oder ein Dokument verändert.

Step 3:

Dies nun als Cronjob per

crontab -e

Step 4:

Folgenden Syntax eintragen

* */4 * * * rsync -a /<Quelle>/ /<Ziel>/

Die 4 gibt den Intervall in Stunden an. Kann z.B. gegen 2 ersetzt werden. Dadurch wird alle 2 Stunden Synchronisiert.

Nun mit Strg + x Crontab schließen und mit

sudo /etc/init.d/cron restart

Cron neustarten.

Falls es zu keinem Tippfehler gekommen ist, dann sollte rsync alle x Stunden Quelle und Ziel synchronisieren.

eth0 soll eth0 sein und nicht eth1

Das leidliche Problem, Derer die etwas Wert auf Ordnung legen.

Bei zwei Netzwerkkarten, sollte es noch keine Probleme der Übersichtlichkeit geben.
Aber ab 4 wird es doch schon etwas schwerer und ab 6 nur noch unübersichtlich besonders, wenn einige Karten zu einer Brücke zusammengefasst wurden.

Früher wurde das Problem über die Datei /etc/iftab gelöst. Diese existiert aber nicht mehr und wurde ausgelagert.

Step 1:

Um die Reihenfolge der Netzwerkkarten anhand ihrer Bezeichnung ( eth0, eth1, ethn ) zu ändern, einfach

sudo nano /etc/udev/rules.d/70-persistent-net.rules

in die Konsole kopieren und diese Datei anpassen.

Step 2:

Um die Reihenfolge anzupassen, einfach den Namen am Ende der Zeile der Netzwerkkarte ändern.

z.B. NAME="eth1" in NAME="eth0"

Erkennen lassen sich die Karten anhand ihrer Mac-Adresse.

Achtung: Unbedingt darauf achten, dass die Bezeichnungen nicht doppelt vergeben werden.

Step 3:

Nun das gesamte System neu starten.

sudo shutdown -r now

Nach dem Neustart, sollte die gewünschte Ordnung vorhanden sein.

Festplatte per Konsole formatieren?

Als Server-Administrator ohne grafische Oberfläche, muss man nun mal mit der Konsole arbeiten.
Also fällt auch das eine oder andere mal eine Formatierung einer Festplatte an.
z.B. durch Wechsel von ausgefallenen Festplatten

Step 1:

Festplatte auswählen und mit fdisk bearbeiten.

sudo fdisk /dev/<Festplatte>

z.B. sdb oder sdc

Step 2:

Anzeigen der vorhandenen Partitionen, auf der ausgewählten Festplatte.

p

Step 3:

n steht für die Nummer, der zu löschenden Partition.

d n

Step 4:

Erstellen einer neuen primären Partition.

n

p

Step 5:

Schreibt die neue Partitionstabelle, auf die Festplatte.

w

Nun kann man fdisk beenden.

Step 6:

Die Festplatte mit einem Dateisystem formatiert.

sudo mkfs.<Dateisystem_auswählen> /dev/<Die_Partition_der_Festplatte_wie_oben>

z.B. mkfs.ext3, mkfs.ext4 oder mkfs.ntfs

Step 7:

Die Partition der Festplatte wird, an einen bestimmten Punkt gemountet.

sudo mount /dev/<Die_Partition_der_Festplatte_wie_oben> /<Mountpunkt_auf_dem_System>

Nun kann man auf die Festplatte voll zugreifen.

Hinweis:

Um nach einen Neustart, die Festplatte wieder an einem bestimmten Punkt gemountet zu haben, einfach /etc/fstab editieren und die Festplatte hinzufügen.

Boot-Skript ohne rc.local?

Der Eine oder Andere, verwendet /etc/rc.local um Shell-Skripts beim System-Start auszuführen. Da die rc.local aber in naher Zukunft abgeschafft wird, wird es Zeit umzudenken und eine Langzeit Variante zu verwenden.

Step 1:

Hierzu den gewünschten Shell-Skript nach /etc/init.d/ kopieren.

Nun den Skript ausführbar machen.

sudo chmod +x <Skript-Name.sh>

z.B. iptables.sh

Step 2:

Die Ausführbarkeit testen.

sudo /etc/init.d/ <Skript-Name>.sh start

Step 3:

Hinzufügen des Skriptes in den Autostart.

sudo update-rc.d -f <Skript-Name>.sh start 99 2 3 4 5 .

Der Skript wird beim System-Start ausgeführt.

Step 4:

Nun kann das System neu gestartet werden, um die Funktion des Skriptes zu testen.

Auf der Konsole mit einem Proxy arbeiten?

Was ist, wenn man den eigenen Spiegelserver von der Ferne aus verwenden möchte, aber über einen Proxy verbinden muss?

Step 1:

Den folgenden Code in die Konsole kopieren und anpassen. Zeilenumbruch beachten!

export http_proxy=http://[<Proxy-User>:<Proxy-Passwort>@]
<IP-Adresse-Proxy>:<Proxy-Port>/ &&

Beispiel:

export http_proxy=http://nutzer1:xyznutzer1@192.168.178.1:3128/ &&

Proxy-User = nutzer1
Proxy-Passwort = xyznutzer1
IP-Adresse-Proxy = 192.168.178.1
Proxy-Port = 3128

Step 2:

Nun einfach nach den && das gewünschte Programm oder Skript ausführen.

Beispiel:

export http_proxy=http://nutzer1:xyznutzer1@192.168.178.1:3128/ &&
ssh 192.168.178.200

Hinweis:

Um Anwendungen zu installieren, sollte man zuerst die eigene Paketliste aktualisieren.

sudo apt-get update

Dadurch wird die aktuelle Liste vom eigenen Spiegelserver geladen, sowie getestet, ob die Verbindung über den Proxy zustande kommt.

Notwendig: Das der eigene Spiegelserver, in der /etc/apt/sources.list eingetragen ist.

MSSQL auf Apache mit PHP ?

Es kommt zwar selten vor, dass eine Linux Maschine auf eine Microsoft Datenbank zugreifen muss, aber wenn es doch mal von Jahrtausend zu Jahrtausend passiert, dann sollte man schnell wissen, welche Komponenten man benötigt.

Step 1: Installation der Pakete

Folgende Pakete müssen installiert werden

apt-get install libsybdb5 freetds-common php5-sybase

Step 2: Test der Verbindung

Hierzu erstellt man einen kleinen Testscript.

<?php
// server = IP / Hostname
// instance = Name der Instance, eventuelle überflüssig daher bitte testen
$server = 'server\instance';

// Mit MSSQL verbinden
$verbindung = mssql_connect($server, ‘username’, ‘password’);

if (!$verbindung) {
die(‘Aufbau der Verbindung war nicht erfolgreich’);
}

// Eine einfache Anfrage durchführen, MSSQL-Version
// auswählen und ausgeben.
$version = mssql_query(‘SELECT @@VERSION’);
$datensatz = mssql_fetch_array($version);

echo $datensatz[0];
?>

Step 3: Freischalten des MSSQL Server Port in der Firewall

Sehr wichtig ist es, den Port in der Firewall des Windows System frei zu schalten, da sonst keine Verbindung hergestellt werden kann.
Hierzu in die Firewall von Windows gehen und eine Ausnahme hinzufügen.
Die Port Ausnahme sollte den Standard Port 1433 haben. Ist der Port geändert worden, dann muss dieser demnach ersetzt werden.

Hostname eines Systems ändern

Der Hostname eines Systems, kann aus verschiedenen Gründen heraus geändert werden müssen. Eine Möglichkeit wäre, wenn ein System aus einem Template heraus erstellt wird und noch ein anderer Hostname eingetragen ist.

 

Step 1: Die hostname Datei anpassen

nano /etc/hostname

Step 2: Die hosts Datei anpassen

nano /etc/hosts

Step 3: Hostname im System eintragen

sudo hostname -F /etc/hostname

Step 4: System Neustarten

sudo shutdown -r now

Um die Konfiguration zu überprüfen, kann man mit dem Befehl hostname, den aktuellen Hostname des Systems ausgeben lassen.

 

Mit besten Grüßen
Martin