|
|||
|
|||
|
Linux Backup Umstieg Tipps nVidia & 2.6.8er Kernel Cocoon OJB JDO CForms Passwort vergessen? Noch keinen Account? SSL aktivieren |
BackupDamit der Schaden im Falle eines Falles möglichst klein ausfällt, ist dieser Rechner mit 2 180GB Festplatten ausgestattet von denen eine ausschliesslich redundant als Backup-Platte fungiert und auf die täglich Backups kopiert werden. Desweiteren wird jede Nacht ein Backup der Postgres-Datenbank in das Rechenzentrum der TU-Clausthal kopiert, dort werden diese Daten nochmal automatisch vom Rechenzentrum gebackupt.Dazu verwende ich folgende Backup-Scripte:
#!/bin/bash
# BACKUP SCRIPT von Christoph Hermann
# http://www.guschtel.de
if [ $UID != 0 ]
then
echo Are you root?
exit 1
fi
# Settings
DATE=`date +%Y-%m-%d`
TIME=`date +%H:%M`
BACKUPROOT=/backup
BACKUPLOG=$BACKUPROOT/log/backup.log
# Backup Start
echo HP5 Backup started at $DATE $TIME.
echo "- MARK -" >> $BACKUPLOG
echo HP5 Backup started at $DATE $TIME. >> $BACKUPLOG
# Backupdir
if [ ! -d $BACKUPROOT/$DATE ]
then
echo Creating Backup-Directory for $DATE
mkdir $BACKUPROOT/$DATE
fi
# /var Dir erstellen
if [ ! -d $BACKUPROOT/$DATE/var ]
then
echo Creating Backup-Directory for $DATE/var
mkdir $BACKUPROOT/$DATE/var
fi
# web (HP5 & uni-infos)
# HP5
echo -n Compressing Files in /.../HP5 using tar...
tar -cjf $BACKUPROOT/$DATE/var/www_HP5.tar.bz2 -C/ -X $BACKUPROOT/exclude.txt var/.../HP5
echo done
# /.../files
echo -n Compressing Files in /.../files using tar...
tar -cjf $BACKUPROOT/$DATE/var/www_files.tar.bz2 -C/ -X $BACKUPROOT/exclude.txt var/.../files
echo done
# Datenbank
# Password for postgres database
PGPASSWORD="***"
if [ ! -d $BACKUPROOT/$DATE/database ]
then
echo Creating Backup-Directory for $DATE/database
mkdir $BACKUPROOT/$DATE/database
fi
FILE=$BACKUPROOT/$DATE/database/guschtel.sql
export PGPASSWORD
pg_dump -D -f $FILE -U <dbuser> -x <databasename>
gzip $FILE
PGPASSWORD=""
export PGPASSWORD
ENDDATE=`date +%Y-%m-%d`
ENDTIME=`date +%H:%M`
echo HP5 Backup finished at $ENDDATE $ENDTIME.
echo HP5 Backup finished at $ENDDATE $ENDTIME. >> $BACKUPLOG
#!/bin/sh PGPASSWORD="***" FILE=/home/<userid>/.../`date +%Y-%m-%d_%H:%M`_guschtel.sql export PGPASSWORD pg_dump -D -f $FILE -x <db-userid> gzip $FILE rm $FILE #!/bin/bash for i in $(find /home/<userid>/.../ -name "`date +%Y-%m-%d`*.gz"); do scp $i <userid>@ra.rz.tu-clausthal.de:/home/<userid>/.../postgres/ done ssh -l <userid> ra.rz.tu-clausthal.de /home/<userid>/.../cleanpostgresdumps Durch die SSH Hostkey Authentication kommt dieses Script ohne eine Passwort-Eingabe aus. In der letzten Zeile rufe ich ein Script auf, was mir Backups löscht, die älter sind als 28 Tage:
#!/usr/bin/bash
DIR=/home/<userid>/.../postgres/
find $DIR -atime +28 -exec rm {} \;
|
|
|||
|