Backup Server mit Linux

Bash, Shell, PHP, Python, Perl, CGI
linuxmatze
Posts: 5
Joined: 2005-05-19 09:34

Backup Server mit Linux

Post by linuxmatze » 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!

captaincrunch
Userprojekt
Userprojekt
Posts: 7066
Joined: 2002-10-09 14:30
Location: Dorsten

Re: Backup Server mit Linux

Post by captaincrunch » 2005-05-19 10:09

Einmal mehr: mit absoluten Pfaden zu arbeiten bringt keinen um und hilft, solche Fehler zu vermeiden.
DebianHowTo
echo "[q]sa[ln0=aln256%Pln256/snlbx]sb729901041524823122snlbxq"|dc

linuxmatze
Posts: 5
Joined: 2005-05-19 09:34

Re: Backup Server mit Linux

Post by linuxmatze » 2005-05-19 10:16

kannst du mir vielleicht ein bisschen besser erklären was du damit meinst :lol:

captaincrunch
Userprojekt
Userprojekt
Posts: 7066
Joined: 2002-10-09 14:30
Location: Dorsten

Re: Backup Server mit Linux

Post by captaincrunch » 2005-05-19 10:32

/bin/find statt einem simplen find hilft in solchen Fällen, in denen keine vernünftige PATH-Variable gesetzt ist extrem weiter.
DebianHowTo
echo "[q]sa[ln0=aln256%Pln256/snlbx]sb729901041524823122snlbxq"|dc

linuxmatze
Posts: 5
Joined: 2005-05-19 09:34

Re: Backup Server mit Linux

Post by linuxmatze » 2005-05-19 14:37

hab ich versucht. geht ned. ist es nicht so wenn man als root die Datei ausführt sind relative Pfadangaben eigentlich egal. :?:

static
Posts: 437
Joined: 2002-10-27 19:56
Location: Schweiz

Re: Backup Server mit Linux

Post by static » 2005-05-19 16:39

LinuxMatze wrote:ist es nicht so wenn man als root die Datei ausführt sind relative Pfadangaben eigentlich egal. :?:
Das hat mit dem Benutzer nichts zu tun, dabei geht's nur um gesetzte oder nicht gesetzte PATH Werte.

.static