Martin Wegmann wrote:
On Friday 29 April 2005 12:25, Bernhard Wehmann wrote:
[...]

Hallo Martin,
im Linux-Magazin gab es 9/2004 einen recht gut lesbaren Artikel zu
rsync, mit Beispielskripts:

http://www.linux-magazin.de/Artikel/ausgabe/2004/09/backups/backups.html?pr
int=y


das sieht exakt nach dem aus, was ich suche! Leider verstehe ich das script nicht. Wo gebe ich nun genau mein /home/martin and bzw. mein 111.222.33.44/backup/martin an?

SERVER="$1" sieht danach aus, aber $ bezieht sich doch auf irgendeinen vorher angebenen servername, oder?

Oder ist es DATA_PATH=/DATA?

Grüsse, Martin



#!/bin/bash
#
# Das Skript zieht per Rsync Backups
# http://www.heinlein-partner.de
#
# Aufruf: backup-rsync <FQDN-Servername>
#
# ### Aufrufparameter des Skripts ist ein FQDN-Hostname
if [ -n "$1" ] ; then
SERVER="$1"
else
echo "Error: Usage $0 <fqdn-hostname>"
exit
fi
# ### Konfiguration
# Pruefen, ob noch ein gewisser Prozentsatz
# an Plattenplatz und Inodes frei ist?
CHECK_HDMINFREE=true
HDMINFREE=90
# Soll die Daten-Partition readonly gemountet werden,
# wenn sie nicht in Gebrauch ist?
MOUNT_RO=false
MOUNT_DEVICE=/dev/hdc1
# Unter welchem Pfad wird gesichert?
DATA_PATH=/DATA
# Liste von Dateipattern, die nicht gesichert werden sollen
EXCLUDES=/etc/rsync-excludes
# Weitere Optionen für Rsync. Eventuell ist eine Limitierung
# der Bandbreite sinnvoll, Angabe in Kbyte/s:
# EXTRAOPT="--bwlimit=256"
EXTRAOPT=""
# ### Let's Rock`n`Roll
# Pruefe auf freien Plattenplatz
GETPERCENTAGE='s/.* \([0-9]\{1,3\}\)%.*/\1/'
if $CHECK_HDMINFREE ; then
KBISFREE=`df /$DATA_PATH | tail -n1 | sed -e "$GETPERCENTAGE"`
INODEISFREE=`df -i /$DATA_PATH | tail -n1 | sed -e "$GETPERCENTAGE"`
if [ $KBISFREE -ge $HDMINFREE -o $INODEISFREE -ge $HDMINFREE ] ; then
echo "Fatal: Not enough space left for rsyncing backups!"
logger "Fatal: Not enough space left for rsyncing backups!"
exit
fi
fi
# Festplatte rw remounten falls gewuenscht!
if $MOUNT_RO ; then
if `mount -o remount,rw $MOUNT_DEVICE $DATA_PATH` ; then
echo "Error: Could not remount $MOUNT_DEV readwrite"
logger "Error: Could not remount $MOUNT_DEV readwrite"
exit
fi
fi
# Gegebenenfalls Verzeichnis anlegen
if ! [ -d $DATA_PATH/$SERVER/daily.0 ] ; then
mkdir -p $DATA_PATH/$SERVER/daily.0
fi
# Los geht`s: Rsync zieht ein Vollbackup
echo "Starting rsync backup from $SERVER..."
logger "Starting rsync backup from $SERVER..."
rsync -avz --numeric-ids -e ssh --delete --delete-excluded \
--exclude-from="$EXCLUDES" $EXTRAOPT \
$SERVER:/ $DATA_PATH/$SERVER/daily.0
# Rückgabewert pruefen.
# 0 = fehlerfrei,
# 24 ist harmlos; tritt auf, wenn waehrend der Laufzeit
# von Rsync noch (/tmp?)-Dateien verändert oder geloescht wurden.
# Alles andere ist fatal -- siehe man (1) rsync
if ! [ $? = 24 -o $? = 0 ] ; then
echo "Fatal: rsync finished $SERVER with errors!"
logger "Fatal: rsync finished $SERVER with errors!"
fi
# Verzeichnis anfassen, um Backup-Datum zu speichern
touch $DATA_PATH/$SERVER/daily.0
# Fertig!
echo "Finished rsync backup from $SERVER..."
logger "Finished rsync backup from $SERVER..."
# Sicher ist sicher...
sync
# Festplatte ro remounten falls gewuenscht!
if $MOUNT_RO ; then
if `mount -o remount,ro $MOUNT_DEVICE $DATA_PATH` ; then
echo "Error: Could not remount $MOUNT_DEV readonly"
logger "Error: Could not remount $MOUNT_DEV readonly"
exit
fi
fi



$1 steht für das 1. Argument das man an der Kommandozeile mitgibt.

Ohne das ich das jetzt genau gelesen habe: script_name server_name


--
Haeufig gestellte Fragen und Antworten (FAQ): http://www.de.debian.org/debian-user-german-FAQ/


Zum AUSTRAGEN schicken Sie eine Mail an [EMAIL PROTECTED]
mit dem Subject "unsubscribe". Probleme? Mail an [EMAIL PROTECTED] (engl)



Antwort per Email an