Script Datensicherung mit Tar - Erste Versuche

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
Quickly1971
Beiträge: 110
Registriert: 08.05.2009 15:26:32

Script Datensicherung mit Tar - Erste Versuche

Beitrag von Quickly1971 » 25.08.2009 20:25:22

Hallo Leute.

Ich habe mir aus diversen Quellen das folgende Script zusammen geflickt.

Kann ich das so nutzen? Ist da was Wensentliches zu verbessern?
Vielleicht kann mir jemand auch noch zwei Fragen beantworten:
a) Was passiert wenn das Ziellaufwerk nicht zu finden/voll ist?
b) Muss man so ein Script irgendwie "Beenden"? Also einen Endbefehl eintragen?

Hier das Script:

Code: Alles auswählen

#!/bin/bash
#
#
#
TARGET_BACKUP_DIR="/mnt/backup/save/"			# Zielverzeichniss
mkdir -p $TARGET_BACKUP_DIR				# Zielverzeichniss anlegen
chmod 0770 $TARGET_BACKUP_DIR				# Zielverzeichniss Rechte setzen
chown root:root $TARGET_BACKUP_DIR			# Zielverzeichniss Besitzer festlegen
umask 007						#
TAR="/bin/tar -P -pcf"					# tar with absolute-names
DIRECTORIES_TO_BACKUP="/home/"				# QUellverzeichnisse festlegen
BACKUP_FILE_BASENAME="home-"				# Basisname der Bakupdatei
BACKUP_DATE_LONG=`date +%Y-%m-%d_%H-%M-%S`		# Datum als Variable setzen
IDENT_FILE_NAME="identfile.bu"				# meta info file
echo $BACKUP_DATE_LONG > $IDENT_FILE_NAME		#
COMPLETE_TARGET_FILENAME="$BACKUP_FILE_BASENAME$BACKUP_DATE_LONG".tar""	# Kompletter Name für jede Datei

# make the tar ball and tar dirs exit on error
$TAR $TARGET_BACKUP_DIR$COMPLETE_TARGET_FILENAME $DIRECTORIES_TO_BACKUP $IDENT_FILE_NAME || { echo tar error ; exit 1; }

rm $IDENT_FILE_NAME || { echo cleanup error ; exit 1; }

echo $TARGET_BACKUP_DIR$COMPLETE_TARGET_FILENAME
Danke Euch schon mal :hail:

Quickly
Der Mensch hat drei Wege, klug zu werden.
Erstens durch Nachdenken: Das ist der edelste.
Zweitens durch Nachahmen: Das ist der leichteste.
Drittens durch Erfahrung: Das ist der bitterste.

gms
Beiträge: 7798
Registriert: 26.11.2004 20:08:38
Lizenz eigener Beiträge: MIT Lizenz

Re: Script Datensicherung mit Tar - Erste Versuche

Beitrag von gms » 25.08.2009 21:01:57

Quickly1971 hat geschrieben: Kann ich das so nutzen? Ist da was Wensentliches zu verbessern?
abgesehen von zusätzlichen Features, z.B Löschen von veralteten Backup-Dateien, Unterstützung von Voll- und inkrementeller Sicherung,...
fällt mir hauptsächlich auf, daß eine Namenskonvention für Variablen, die Groß- und Kleinbuchstaben verwendet, leserlicher zu sein scheint.
Quickly1971 hat geschrieben:a) Was passiert wenn das Ziellaufwerk nicht zu finden/voll ist?
das Script gibt "tar error" aus und terminiert mit exit-Code 1
Quickly1971 hat geschrieben: b) Muss man so ein Script irgendwie "Beenden"? Also einen Endbefehl eintragen?
du könntest ein "exit 0" an das Ende setzen, das Script wird aber auch ohne mit dem exit-Code 0 beendet, weil ja das letzte Kommando "echo" hier sicherlich keinen Fehler liefern wird.

Gruß
gms

Quickly1971
Beiträge: 110
Registriert: 08.05.2009 15:26:32

Re: Script Datensicherung mit Tar - Erste Versuche

Beitrag von Quickly1971 » 25.08.2009 21:55:50

Hallo.
Danke Dir. Ich bin Stückweise dabei etwas zu verstehen.
Ich bin wirklich erst einige Wochen dabei und bei den Scripts die ich im Netz gefunden habe, habe ich absolut wenig verstanden. Deswegen wollte ich es von Hand aufbauen.

>>> Löschen von veralteten Backup-Dateien
Wollte ich mich später drum kümmern. Zur Zeit lösche ich es per Hand. Vielleicht finde ich die nächsten Wochen was im Netz und verstehe es dann halbwegs!?!?

>>> Unterstützung von Voll- und inkrementeller Sicherung,...
Das habe ich extra ignoriert. Habe im Wiki dazu etwas gefunden. Da mir aber bei meinem letzten Backup (Bacula auf fertigem Baukastenserver) einge Daten abhanden gekommen sind....na ja...jedenfalls stehe ich zur Zeiut absolut auf permanente Vollbackups die auch ich als Honk wieder auseinanderflücken kann.

Vielen Dank für Deine Vorschläge. Ich werde das Skript noch mal umbauen.

Ich mache hier einfach mal weiter...ich suche seit 2 Stunden im Netz etwas um das Script automatisch starten zu lassen.
Kann mir da jemand helfen?
Ich habe das ausführbare Script unter /opt/backup.sh liegen und möchte das Ding um 23:30 Uhr, Montag bis Samstag ausführen (Sontag hat der Server frei :P ).

Habe nach einigen Versuchen nun "anacron" installiert...ich bin zu...egal...ich komme da nicht klar.

Gibt es ein "einfaches" HowTo" für Dummys wie mich?

Danke

Quickly
Der Mensch hat drei Wege, klug zu werden.
Erstens durch Nachdenken: Das ist der edelste.
Zweitens durch Nachahmen: Das ist der leichteste.
Drittens durch Erfahrung: Das ist der bitterste.

michaels
Beiträge: 1164
Registriert: 29.03.2009 18:12:25

Re: Script Datensicherung mit Tar - Erste Versuche

Beitrag von michaels » 25.08.2009 22:14:40

Quickly1971 hat geschrieben: Ich mache hier einfach mal weiter...ich suche seit 2 Stunden im Netz etwas um das Script automatisch starten zu lassen.
Kann mir da jemand helfen?
Ich habe das ausführbare Script unter /opt/backup.sh liegen und möchte das Ding um 23:30 Uhr, Montag bis Samstag ausführen (Sontag hat der Server frei :P ).
Hallo,

gib mal

Code: Alles auswählen

crontab -e
ein. Dann kannst du einfach Cronjobs definieren. Dann erstellst du folgende Zeile:

Code: Alles auswählen

30 22 * * 1-6  /opt/backup.sh
So wird dein Skript von Montag - Samstag (1-6, 5. Spalte) um 22 Uhr (zweite Spalte) und 30 Minuten (erste Spalte) jeden Tag (3. Spalte) und jeden Monat (4. Spalte) ausgeführt.

Ansonsten einfach mal nach crontab suchen oder hier: http://de.wikibooks.org/wiki/Linux-Kompendium:_Crontab

Gruß

edit:
wäre rsync nicht eine (einfache, mächtige) alternative für dich!?

Quickly1971
Beiträge: 110
Registriert: 08.05.2009 15:26:32

Re: Script Datensicherung mit Tar - Erste Versuche

Beitrag von Quickly1971 » 26.08.2009 16:09:23

Hallo.

Ich danke!!!
Da habe ich wohl zu kompliziert gesucht. :oops:

Mal sehen was Heute Nacht passiert.

THX

Quickly
Der Mensch hat drei Wege, klug zu werden.
Erstens durch Nachdenken: Das ist der edelste.
Zweitens durch Nachahmen: Das ist der leichteste.
Drittens durch Erfahrung: Das ist der bitterste.

Antworten