Installation vom Backup Exec Remote Agent für Linux (Ralus)

Wie hier schon das eine oder andere mal erwähnt haben wir im Geschäft einige Linux Server in einer virtuellen Umgebung. Bisher habe ich hier immer die ganze virtuelle Maschine gesichert, heute habe ich aber mal einen Versuch mit dem Symantec BE 2010 Client unter Linux gemacht und das scheint gut zu funktionieren.
Vor der Installation empfehle ich, die libstdc++5 zu installieren, da diese meistens nötig ist, damit der Client sauber läuft. Für Ubuntu und 64 bit gibts die Installationsdatei hier.
Installiert wird die Datei danach mit dem folgenden Befehl:
dpkg -i libstdc++5_3.3.6-18_amd64.deb

Der Linux Client vom BE 2010 heisst Ralus und ist auf der Installations-CD vom BE im Ordner LinuxUnixMac zu finden. Die Installationsdatei kopiert man nun auf den Linux-Server und entpackt sie idealerweise in einen neuen Ordner:
root@srvWEB01:~# mkdir ralus
root@srvWEB01:~# mv RALUS_RMALS_RAMS-4164.5.tar.gz ralus/
root@srvWEB01:~# cd ralus/
root@srvWEB01:~/ralus# tar -xvzf RALUS_RMALS_RAMS-4164.5.tar.gz

Nun führt man die Datei installralus aus.
root@srvWEB01:~/ralus# ./installralus

Nun folgt man einfach dem Installer. Man wird gefragt, auf welchen Servern man den Client installieren will und auch auf welchem Server (oder welchen Servern) das BE installiert ist. Wichtig ist halt, dass diese Adresse korrekt ist und der Server den Hostnamen auch auflösen kann.
Ist der Installer erfolgreich durchgelaufen kann man entweder den Server neustart oder einfach den Service starten:
root@srvWEB01:~/ralus# /etc/init.d/VRTSralus.init start

Im BE hat man nun bei den Auswahllisten unter "Favorite Resources -> Linux/Unix Servers" den Server drin und kann nach Eingabe der Benutzerdaten bequem die zu sichernden Ordner auswählen.
http://images.t-error.ch/blog/1462/ralus.jpg


Die langzeit Erfahrung mit diesem Service fehlt mir noch, aber das erste Backup ist sauber durchgelaufen. Bei Symantec gibts dazu übrigens noch eine englischsprachige Installationsanleitung.

Outlook Signaturen sichern

Wer die Signaturen vom Outlook auf einen neuen Computer kopieren, oder einfach ein Backup davon erstellen will, findet sie im folgenden Ordner:
C:\Windows\Profiles\[user]\Anwendungsdaten\Microsoft\Signatures
In diesem Ordner liegt von jeder Signatur ein Plaintext, ein Richtext und ein Wordfile. Diese Files kann man auf dem neuen Computer kopieren und Outlook erkennt die Signaturen danach automatisch.

Mails mit Attachment aus der Shell versenden

Mit einem kleinen Script und einem Cronjob mache ich im Geschäft täglich ein Backup meiner mySQL Datenbank und sende es per Mail an meine GMail-Adresse. Dort habe ich genug Platz und kann so auf ein tägliches Backup zurückgreiffen.
Wie man ein Backup einer Datenbank macht habe ich ja bereits beschrieben. Das Versenden der Datei erledigt bei mir Mutt schon seit einiger Zeit sehr zuverlässig:
echo "Text" | mutt -s "Betreff" -a filename.zip empfaenger@mail.ch

Datum in der CMD anders formatieren

Nochmal etwas aus der CMD-Trickkiste. Mit einem kleinen "Backup-Script" muss ich einen Ordner im Datums-Format YYYY-MM-DD erstellen. Mit der Umgebungsvariable %date% erhält man das Datum aber so zurück: 10.03.2009
Mit dem folgenden Trick kann man das Datum aber ins gewünschte Format umwandeln:
for /f "delims=. tokens=1,2,3" %%a in ('echo %date%') do set datum=%%c-%%b-%%a 

echo %datum%
Das gibt dann 2009-03-10 aus.

Dateien mit robocopy sichern

Heute wollte ich mit xcopy ein Backup der Daten von einem Computer auf eine externe Festplatte machen. Noch einiger Zeit ist xcopy allerdings mit der Fehlermeldung Nicht genügend Arbeitsspeicher.
xcopy c:\ e:\backup\ /c /f /y /e /h
.....
Nicht genügend Arbeitsspeicher
3519 Datei(en) kopiert


Da alle neuversuche nichts gebracht haben, habe ich eine Alternative gesucht und in robocopy auch gefunden. robocopy ist im Windows Server 2003 dabei und kann gratis heruntergeladen werden.
Nach der Installation musste ich zuerst die Datei robocopy.exe von C:\Programme\Windows Resource Kits\Tools/ nach C:\WINDOWS\system32 kopieren.

Nun konnte ich mit Robocopy die Dateien auf die Festplatte kopieren.
robocopy c:\ e:\backup\ /E /Z /R:2 /W:1 /TEE /LOG:e:\log.txt


Noch kurz zu den Parameteren:
  • Mit /E werden alle Verzeichnisse (auch leere) kopiert.
  • /Z wird der Kopiervorgang im "restartable mode" gestartet. Das heisst, bei einem Abbruch muss man nicht von vorne beginnen.
  • /R:2 die Anzahl der "Retries", wenn eine Datei nicht kopiert werden kann.
  • /W:1 Die Zeit in Sekunden, sie zwischen den Retries gewartet werden soll.
  • /TEE Gibt die Ausgabe auch in die Konsole zurück.
  • /LOG Gibt das Logfile an

Backup einer mySQL Datenbank erstellen

Wenn man eine Sicherung von einer mySQL Datenbank machen will kann man das natürlich auf auf mehrere Arten machen. Zum einen kann man das ganze über das beliebte phpMyAdmin machen. Oder, wenn man Zugriff auf die Shell vom Server hat, mit mysqldump oder cp. So kann man relativ simpel ein Cronjob einrichten, welcher Täglich oder Wöchentlich eine Sicherung der Datenbank macht.

Die Variante mit mysqldump ist recht simpel und funktioniert, ohne dass man den mySQL Server stoppen muss. mysqldump erstellt wie phpMyAdmin eine SQL Datei mit den create table und insert Anweisungen. In diesem keinen Beispiel wir die Datenbank "datenbank" exportiert und gleich noch mit gzip etwas komprimiert.
mysqldump -ubenutzer -p datenbank | gzip -c > file.sql.gz


Die andere Möglichkeit ist das kopieren der Dateien in der mySQL die Daten ablegt. In Ubuntu liegen diese Daten im Ordner /var/lib/mysql/. Dazu muss aber der mySQL Server gestoppt werden, dafür hat man aber eine etwas sauberere Sicherung. Bei Migrationen auf andere Server ist diese Variante wohl etwas besser. Hier ein kleines Beispiel, dass den mySQL Server stoppt, alle Datenbanken in den Ordner /home/backup/mysql/ kopiert und den Server dann wieder startet.
#!/bin/bash

mysqldir="/var/lib/mysql";

# stop mysql
/etc/init.d/mysql stop

date=`date +%d%m%Y`

mkdir /home/backup/mysql/$29.04.08 07:54/

cp -R $mysqldir/* /home/backup/mysql/$29.04.08 07:54/

# start mysql
/etc/init.d/mysql start

Festplattenimage mit Linux erstellen

Mit dem Befehl dd ist es unter Linux relativ einfach ein Image von einer Festplatte zu machen. Praktisch zum Beispiel wenn man den Computer mit Windows frisch aufgesetzt hat und diesen, noch funktionierenden, stand nun sichern will. Man kann ganz einfach von Knoppix booten und dann ein Image erstellen.
Entweder kann man das Image lokal speichern und dann auf eine DVD brennen oder direkt über SSH auf einen andere (Linux)Computer schreiben.
Mit dem folgenden Befehl speichert man das Image lokal auf den PC. Allenfalls ist es unter Knoppix von vorteil, wenn man das Image auf eine (externe) Festplatte sichert.
dd if=/dev/hda | gzip -c | cat > image.gz
Und so holt man das Image wieder zurück.
gzip -d -c image.gz | dd of=/dev/hda


Wie gesagt kann man das Image via SSH auf einen anderen Computer speichern und auch wieder zurückholen. Diese geht mit diesen Befehlen:
dd if=/dev/hda | gzip -c | ssh user@server "cat > image.gz"
ssh user@server "gzip -d -c image.gz" | dd of=/dev/hda

NTFS Partition mounten

Bei uns scheinen die Computer nicht so zu wollen. Das private Notebook von einem Mitarbeiter streikt. Ein Windowsproblem. Also zuerst mal Knoppix rein und booten. Damit ich nun das gewünschte Backup auf eine externe (NTFS) Harddisk machen kann, muss ich die Platte zuerst richtig mounten. Das geht so:
root:Knoppix:/media# umount /media/sda1/
root:Knoppix:/media# mount /dev/sda1 /media/sda1 -t ntfs
Standardmässig werden NTFS Platten und readable gemountet und das nützt mir herzlich wenig.

Nachdem die Platte nun beschreibbar ist, gehts ans Backup:
root:Knoppix:/media# cp -Rv /media/hda1/* /media/sda1/backup/