Linux 15.009 Themen, 106.826 Beiträge

Iso-image brennen von meine Server

kiomars Farid / 4 Antworten / Flachansicht Nickles

Hallo,
durch partimage von knppix habe ich auf meine Festplatte einen image bzw von jede partition
hda1 /boot
hda2 /var
hda3 /opt eine Image gezogen. Ich möchte gerne einen CD Brennen so eine ISO-Image damit ich für den fall sofort mit ein spielen des CDs meine System wieder habe.
Können Sie mir helfen bitte wenn möglich ausführliche angaben machen.
Ich danke im voraus
K.Farid

bei Antwort benachrichtigen
KarstenW Nachtrag zu: „Ich würde an deiner Stelle mit dem Programm rsync auf eine Wechselfestplatte...“
Optionen

Ich habe selbst ein kleines Shellscript programmiert um von meinen drei Rechnern Backups auf Wechselfestplatte zu machen.
Du kannst es ja mal anschaunen und an deine Bedürfnisse anpassen:

Du mußt entsprechend diesem Artikel noch eine paar Einstellungen vornehmen , um die Passwortabfrage bei der ssh-Verbindung zu umgehen:

http://www.jdmz.net/ssh/

Dukannst dieses Shellscript eventuell rsync-backup nennen.

Nickles löscht leider alle Tabulatoren aus dem originalen Shellscript heraus.


#!/bin/bash
#Dieses Shellscript sichert ausgewählte Verzeichnisse vom drei Rechnern sichern
VERZEICHNISSE_WINKLER="/home /root /etc /boot /usr/local"
VERZEICHNISSE_WINKLER2="/home /root /etc /boot /usr/local"
VERZEICHNISSE_WINKLER3="/home /root /etc /boot /usr/local"

#eventuell Löschen von alten Backup-Dateien
if [ $# -eq 1 ] ; then
if [ "$1" != "--delete" ] ; then
echo
echo "usage: $0 --> Alte Backup-Dateien werden nicht gelöscht !"
echo "usage: $0 --delete --> Alte Backup-Dateien werden gelöscht !"
echo
exit 1
fi
fi


#Default -- alte Backup-Dateien nicht löschen
DELETE=""

#alte Backup-Dateien löschen
if [ "$1" = "--delete" ] ; then
DELETE="--delete"
fi

BACKUP_WINKLER=/winkler
BACKUP_WINKLER2=/winkler2
BACKUP_WINKLER3=/winkler3
RSYNC=/usr/bin/rsync
ID=/usr/bin/id
MOUNT=/bin/mount
UMOUNT=/bin/umount
MOUNT_DEVICE=/dev/hde1
MOUNT_POINT=/wechselfestplatte
SSH=/usr/bin/ssh
KEY=/root/rsync-key/rsync-key
RUSER=root
RHOST_WINKLER2=192.168.1.3
RHOST_WINKLER3=192.168.1.5
TEMPFILE=/tmp/rsync.err
MAXIMUM_MOUNT_COUNT=25

rm -f $TEMPFILE
touch $TEMPFILE
echo >> $TEMPFILE
echo >> $TEMPFILE
echo >> $TEMPFILE
echo "Verzeichnisse , die nicht gesichert werden konnten:" >> $TEMPFILE
echo >> $TEMPFILE

if [ `$ID -u` != 0 ] ; then
echo
echo "Dieses Shellscript braucht root-Rechte !"
echo
exit 1
fi

# Check MOUNT_DEVICE

mount_count=`tune2fs -l $MOUNT_DEVICE | grep "Mount count"`

#tune2fs liefert 3 Wöter zurück. Anzahl ist 3. Wort.

for wort in $mount_count ; do
anzahl=$wort
done

#Debug
#echo "Anzahl Mount count: $anzahl"
#exit 1
if [ $anzahl -ge $MAXIMUM_MOUNT_COUNT ] ; then
$UMOUNT $MOUNT_POINT 2>/dev/null
echo "Prüfe $MOUNT_DEVICE ..."
e2fsck -f $MOUNT_DEVICE
if [ $? != 0 ] ; then
echo "Fehler auf $MOUNT_DEVICE !"
echo "$0 wird beendet !"
exit 1
fi
fi

mount | grep $MOUNT_DEVICE

if [ $? != 0 ] ; then
$MOUNT -t ext3 -o rw $MOUNT_DEVICE $MOUNT_POINT
if [ $? != 0 ] ; then
echo
echo "Konnte $MOUNT_DEVICE nicht unter $MOUNT_POINT readwrite mounten !"
exit 1
fi
else
$MOUNT -t ext3 -o remount,rw $MOUNT_DEVICE $MOUNT_POINT
if [ $? != 0 ] ; then
echo
echo "Konnte $MOUNT_DEVICE nicht unter $MOUNT_POINT readwrite remounten !"
exit 1
fi
fi


#Backup Winkler
if [ ! -d $MOUNT_POINT$BACKUP_WINKLER ] ; then
mkdir $MOUNT_POINT$BACKUP_WINKLER
fi

for verzeichnis in $VERZEICHNISSE_WINKLER ; do
echo
echo "Sichere Verzeichnis $verzeichnis von Rechner Winkler..."
$RSYNC -av $DELETE --progress $verzeichnis $MOUNT_POINT$BACKUP_WINKLER
#debug
#echo "MOUNT_POINTBACKUP_WINKLER: $MOUNT_POINT$BACKUP_WINKLER"

if [ $? != 0 ] ; then
echo "$verzeichnis von Winkler konnte nicht gesichert werden" >> $TEMPFILE
fi
done


#Backup Winkler2 über Netzwerk
if [ ! -d $MOUNT_POINT$BACKUP_WINKLER2 ] ; then
mkdir $MOUNT_POINT$BACKUP_WINKLER2
fi

for verzeichnis in $VERZEICHNISSE_WINKLER2 ; do
echo
echo "Sichere Verzeichnis $verzeichnis von Rechner Winkler2 ..."
$RSYNC -av $DELETE --progress -e "$SSH -i $KEY" $RUSER@$RHOST_WINKLER2:$verzeichnis $MOUNT_POINT$BACKUP_WINKLER2

if [ $? != 0 ] ; then
echo "$verzeichnis von Winkler2 konnte nicht gesichert werden" >> $TEMPFILE
fi
done

#Backup Winkler3 über Netzwerk
if [ ! -d $MOUNT_POINT$BACKUP_WINKLER3 ] ; then
mkdir $MOUNT_POINT$BACKUP_WINKLER3
fi

for verzeichnis in $VERZEICHNISSE_WINKLER3 ; do
echo
echo "Sichere Verzeichnis $verzeichnis von Rechner Winkler3 ..."
$RSYNC -av $DELETE --progress -e "$SSH -i $KEY" $RUSER@$RHOST_WINKLER3:$verzeichnis $MOUNT_POINT$BACKUP_WINKLER3

if [ $? != 0 ] ; then
echo "$verzeichnis von Winkler3 konnte nicht gesichert werden" >> $TEMPFILE
fi
done


#Wechselfestplatte readonly mounten
$MOUNT -t ext3 -o remount,ro $MOUNT_DEVICE $MOUNT_POINT

if [ $? != 0 ] ; then
echo "Konnte $MOUNT_DEVICE nicht unter $MOUNT_POINT readonly remounten !"
fi

#Fehlerausgabe
ausgabe=`wc -l $TEMPFILE`
add=0
#wc -l liefert auch den Dateinamen zurück
for wort in $ausgabe ; do
if [ $add = 0 ] ; then
add=1
zeilen=$wort
fi
done

if [ $zeilen -gt 2 ] ; then
cat $TEMPFILE
fi

exit 0


Du kannst es noch anpassen . Das ist nur ein ganz einfaches Shellscript.

Debian GNU/Linux https://www.debian.org/index.de.html
bei Antwort benachrichtigen