Backup Server mit Linux
Posted: 2005-05-19 10:04
Hallo Leute
bin auf dem Gebiet Linux ein absoluter neuanfänger :?
Bin momentan dabei einen Backup-Server zu erstellen, der Backups zu einem bestimmten Tag zu einer bestimmten Zeit von zweich Rechnern zieht (Backups werden in Ordnern abgelegt die als Namen das aktuelle Datum erhalten) und beim erreichen einer bestimmten Speicherkapazität auf der Server Platte sollen die ältesten Backups automatisch gelöscht werden.
So, das ganz wird mit zwei Skripten die ich ein wenig umgeändert habe realisiert. Das Backup ziehen funktioniert schon einwandfrei.
So nun zu meinem Problem:
1. der Zeitgesteuerte Ablauf soll durch crontab realisiert werden. Fonktioniert jedoch nicht. Wenn ich den cron mit Webmin manuell ausführe funktioniert er. Automatisch startet er jedoch nicht.
2. mein Skript das für das Löschen der ältesten Backups zuständig ist weist noch einige Fehler auf. Jedoch weis ich nicht wie ich diesen Beheben soll.
Also wenn das Skript starte werden auch die ältesten Backup Ordner gelöscht, jedoch schreibt er mir ein komische Meldung auf dem Bildschirm. Kann man die irgendwie unterdrücken. Hier mal die Meldung und das Skript selber:
--------------------------------------------------------------------------------------
***Freien Speicherplatz pruefen***
Belegter Speicherplatz: 12 MB
rm: cannot remove `.' or `..'
find: ./05_04_05: No such file or directory
find: ./05_05_05: No such file or directory
find: ./11_04_05: No such file or directory
find: ./11_05_05: No such file or directory
Belegter Speicherplatz: 2 MB
find: ./15_05_05: No such file or directory
Aktueller Speicherplatz: 2 MB
***Freien Speicherplatz pruefen***
Aktueller Speicherplatz: 1 MB
-------------------------------------------------------------------------
#!/bin/bash
########################################################################
########### Loeschen der Sicherungen von Pdc1 ##########################
########################################################################
echo
echo "***Freien Speicherplatz pruefen***"
echo
cd /sicherungen/Pdc1/ #Verzeichniss in dem sich die zu loeschenen Daten befinden
Days=4 #Dateien die älter als angegeben sind löschen beginnen
MaxDiskSpace=1 #Nur loeschen wenn "MaxDiskSpace" ueberschritten wurde
DiskSpace=`du -sm | awk '{print $1;}'` #ermittelt die aktuelle groesse
while [ $DiskSpace -gt $MaxDiskSpace ] ; do #vergleicht die beiden angaben miteinander
echo "Belegter Speicherplatz: " $DiskSpace "MB" #schreibt den aktuellen Speicherplatz auf dem Bildschirm
echo
find . -mtime +$Days -exec rm -r -d {} ; #suche alle Ordner die aelter als Days sind und loesche sie mit inhalt
if [ $Days -le 3 ] ; then #keine Daten loeschen die <= 3Tage sind
break
fi
Days=$(($Days - 1))
DiskSpace=`du -sm | awk '{print $1;}'` #ermittelt die aktuelle groesse
done
echo "Aktueller Speicherplatz: " $DiskSpace "MB" #schreibt den aktuellen Speicherplatz auf dem Bildschirm
echo
################################################################################################
#######################################################################
############## Loeschen der Sicherungen von SQL 2000 ##################
#######################################################################
echo
echo "***Freien Speicherplatz pruefen***"
echo
cd /sicherungen/SQL2000/ #Verzeichniss in dem sich die zu loeschenden Daten befinden
Days=4 #Dateien die älter als angegeben sind löschen beginnen
MaxDiskSpace=1 #Nur loeschen wenn "MaxDiskSpace" ueberschritten wurde
DiskSpace=`du -sm | awk '{print $1;}'` #ermittelt die aktuelle groesse
while [ $DiskSpace -gt $MaxDiskSpace ] ; do #vergleicht die beiden angeben miteinander
echo "Belegter Speicherplatz: " $DiskSpace "MB" #schreibt den aktuellen Speicherplatz auf dem Bildschirm
echo
find . -mtime +$Days -exec rm -r -d {} ; #sucht alle Ordner die aelter als Days sind und löscht sie mit inhalt
if [ $Days -le 3 ] ; then #keine Daten loeschen die <= 3Tage sind
break
fi
Days=$(($Days - 1))
DiskSpace=`du -sm | awk '{print $1;}'` #ermittelt die aktuelle groesse
done
echo "Aktueller Speicherplatz: " $DiskSpace "MB" #schreibt den aktuellen Speicherplatz auf dem Bildschirm
echo
##################################################################################################
DANKE EUCH IM VORAUS!
bin auf dem Gebiet Linux ein absoluter neuanfänger :?
Bin momentan dabei einen Backup-Server zu erstellen, der Backups zu einem bestimmten Tag zu einer bestimmten Zeit von zweich Rechnern zieht (Backups werden in Ordnern abgelegt die als Namen das aktuelle Datum erhalten) und beim erreichen einer bestimmten Speicherkapazität auf der Server Platte sollen die ältesten Backups automatisch gelöscht werden.
So, das ganz wird mit zwei Skripten die ich ein wenig umgeändert habe realisiert. Das Backup ziehen funktioniert schon einwandfrei.
So nun zu meinem Problem:
1. der Zeitgesteuerte Ablauf soll durch crontab realisiert werden. Fonktioniert jedoch nicht. Wenn ich den cron mit Webmin manuell ausführe funktioniert er. Automatisch startet er jedoch nicht.
2. mein Skript das für das Löschen der ältesten Backups zuständig ist weist noch einige Fehler auf. Jedoch weis ich nicht wie ich diesen Beheben soll.
Also wenn das Skript starte werden auch die ältesten Backup Ordner gelöscht, jedoch schreibt er mir ein komische Meldung auf dem Bildschirm. Kann man die irgendwie unterdrücken. Hier mal die Meldung und das Skript selber:
--------------------------------------------------------------------------------------
***Freien Speicherplatz pruefen***
Belegter Speicherplatz: 12 MB
rm: cannot remove `.' or `..'
find: ./05_04_05: No such file or directory
find: ./05_05_05: No such file or directory
find: ./11_04_05: No such file or directory
find: ./11_05_05: No such file or directory
Belegter Speicherplatz: 2 MB
find: ./15_05_05: No such file or directory
Aktueller Speicherplatz: 2 MB
***Freien Speicherplatz pruefen***
Aktueller Speicherplatz: 1 MB
-------------------------------------------------------------------------
#!/bin/bash
########################################################################
########### Loeschen der Sicherungen von Pdc1 ##########################
########################################################################
echo
echo "***Freien Speicherplatz pruefen***"
echo
cd /sicherungen/Pdc1/ #Verzeichniss in dem sich die zu loeschenen Daten befinden
Days=4 #Dateien die älter als angegeben sind löschen beginnen
MaxDiskSpace=1 #Nur loeschen wenn "MaxDiskSpace" ueberschritten wurde
DiskSpace=`du -sm | awk '{print $1;}'` #ermittelt die aktuelle groesse
while [ $DiskSpace -gt $MaxDiskSpace ] ; do #vergleicht die beiden angaben miteinander
echo "Belegter Speicherplatz: " $DiskSpace "MB" #schreibt den aktuellen Speicherplatz auf dem Bildschirm
echo
find . -mtime +$Days -exec rm -r -d {} ; #suche alle Ordner die aelter als Days sind und loesche sie mit inhalt
if [ $Days -le 3 ] ; then #keine Daten loeschen die <= 3Tage sind
break
fi
Days=$(($Days - 1))
DiskSpace=`du -sm | awk '{print $1;}'` #ermittelt die aktuelle groesse
done
echo "Aktueller Speicherplatz: " $DiskSpace "MB" #schreibt den aktuellen Speicherplatz auf dem Bildschirm
echo
################################################################################################
#######################################################################
############## Loeschen der Sicherungen von SQL 2000 ##################
#######################################################################
echo
echo "***Freien Speicherplatz pruefen***"
echo
cd /sicherungen/SQL2000/ #Verzeichniss in dem sich die zu loeschenden Daten befinden
Days=4 #Dateien die älter als angegeben sind löschen beginnen
MaxDiskSpace=1 #Nur loeschen wenn "MaxDiskSpace" ueberschritten wurde
DiskSpace=`du -sm | awk '{print $1;}'` #ermittelt die aktuelle groesse
while [ $DiskSpace -gt $MaxDiskSpace ] ; do #vergleicht die beiden angeben miteinander
echo "Belegter Speicherplatz: " $DiskSpace "MB" #schreibt den aktuellen Speicherplatz auf dem Bildschirm
echo
find . -mtime +$Days -exec rm -r -d {} ; #sucht alle Ordner die aelter als Days sind und löscht sie mit inhalt
if [ $Days -le 3 ] ; then #keine Daten loeschen die <= 3Tage sind
break
fi
Days=$(($Days - 1))
DiskSpace=`du -sm | awk '{print $1;}'` #ermittelt die aktuelle groesse
done
echo "Aktueller Speicherplatz: " $DiskSpace "MB" #schreibt den aktuellen Speicherplatz auf dem Bildschirm
echo
##################################################################################################
DANKE EUCH IM VORAUS!