[HowTo] backup Vserver

Aufgabe der Datei start-weekly.log

Hallo,
schnelle Antwort :D
Also,
die bewusste Datei im Verzeichnis /var/log/backup uebernimmt
das Steuern der Backups.
nicht der Inhalt der Datei, sondern das Datum/Zeit ist das Kriterium.
In der Datei weekly.sh steht eine Subroutine, welche ich mal zusaetzlich
kommentiert habe:


Code:
createDaily (){
        ALLSOURCE=$1 [COLOR="Green"]#variablen deklaration[/COLOR]
        FILENAME=$2 [COLOR="Green"]#variablen deklaration[/COLOR]
        SOURCEDIR=`echo $ALLSOURCE | sed s/,/\ /g` [COLOR="Green"]#sicherungsverzeichnisse bilden[/COLOR]
[COLOR="DarkOrchid"]# Jetzt kommt's !!
# suche alle Dateien in den Sicherungsverzeichnissen, die juenger
# sind (absolut auf die sekunde!!)
# welche vonm Typ 'regularfile' sind
# und schreibe die Dateien in die Datei, deren Name in  $TMPFILE
# steht [/COLOR]
        find $SOURCEDIR -cnewer $RELATEFILE -type f > $TMPFILE
[COLOR="DarkOrchid"]#zaehle die Dateien[/COLOR] 
        RECORDCOUNT=` wc -l $TMPFILE | awk '{ print $1 }' `
[COLOR="DarkOrchid"]#und falls es Null sind ...[/COLOR]
        if [ "$RECORDCOUNT" == "0" ]; then
[COLOR="DarkOrchid"]#gib das aus[/COLOR]
                 echo "no files for backup found in $SOURCEDIR" \
                         > $DAILYDIR/$DAILYPREFIX-$FILENAME.txt
[COLOR="DarkOrchid"]#andernfalls[/COLOR]
        else
[COLOR="DarkOrchid"]# sichere mit tar in angegebenes verzeichnis/datei,
# welche Dateien zu sichern sind, das steht in Datei deren Name
# aus $TMPFILE gelesen wird.
# die Ausgabe von tar (Meldungen) schreibe bitte in Datei
mit der Endung .txt[/COLOR]
                 tar -czf $DAILYDIR/$DAILYPREFIX-$FILENAME.tar.gz \
                        -T $TMPFILE -Pv \
                        > $DAILYDIR/$DAILYPREFIX-$FILENAME.txt
                 # Bilden der Tagessicherungsfiles
[COLOR="DarkOrchid"]# gib die gesicherten tar Filenamen in Datei aus, die in $TARTMPFILE
# benannt wird[/COLOR]
                 echo $DAILYDIR/$DAILYPREFIX-$FILENAME.tar.gz >> $TARTMPFILE
[COLOR="Red"]# Ja und hier setzen wir das neue Sicherungskriterium -- Das Datum der
# Datei, welche in $RELATEFILE steht[/COLOR]
                 touch $RELATEFILE
        fi
[COLOR="DarkOrchid"]# wir loeschen das Temporaerfile[/COLOR]
        rm -f $TMPFILE
}

deswegen ist das Datum der genannten Datei wichtig!

Gruss
Klaus
 
Hallo,

könnte mir evtl jemand den Befehl nennen, mit dem ich eine einzige
Datei aus dem weekly-Backup zurücksichern kann?

Ciao

Martin
 
fmschrader said:
könnte mir evtl jemand den Befehl nennen, mit dem ich eine einzige Datei aus dem weekly-Backup zurücksichern kann?

Weiß das wirklich keiner? Vielleicht ja doch...

Ciao

Martin
 
bin grade unterwegens

fmschrader said:
Weiß das wirklich keiner? Vielleicht ja doch...

Ciao

Martin
hallo,
schade , dass niemand weiss, was Du meinst.
also um eine einzelne Date aus einem tar archiv zu entpacken
wird folgender Syntax benötigt.


tar xzf tararchivname.tgz dateiname

du solltest beim ausführen in dem root verzeichnis stehen, da im archiv die verzeichnissnamen mit enthalten sind. Allesding relativ (ohne führenden Slash)

Alternative:
mit dem Midnightcommander das tar archiv lokalisiseren , selectieren und <ENTER> drücken. mc schaut dabei in das Archiv und man kann nun bequem die Datei suchen und dann in das andere Fenster ins Zielverzeichnis kopieren mit <F5>
Fragen ? Dann hier bitte
Gruss
Klaus
(der seit seinem Umzug leider noch kein DSL hat)
 
Na also, Du hasts ja doch gewußt. ;)

Nun ist's leider zu spät, denn gestern lief die weekly und nun sind alle
Dateien von letzter Woche weg. Schade aber auch. Nun muß ich die Datei per Hand wieder aufbauen.
Danke trotzdem für den Tip. Beim nächsten Mal weiß ichs jetzt.

Ciao

Martin
 
fmschrader said:
Na also, Du hasts ja doch gewußt. ;)

Nun ist's leider zu spät, denn gestern lief die weekly und nun sind alle
Dateien von letzter Woche weg. Schade aber auch. Nun muß ich die Datei per Hand wieder aufbauen.
Danke trotzdem für den Tip. Beim nächsten Mal weiß ichs jetzt.

Ciao

Martin
Hmm, Sorry dass ich nicht jden Tag lese. Unterrichte grade in Dresden.
Ich ziehe mir ne Kopie jede Nacht mit rsync und da existiert ein Unterverzeichnis
backup, wo dann immer die vorhergehende Version liegt. Auch das incremental und weekly. Somit kann ich zumindest auf 2 Wochen zurückgreifen.
Steht so im Script.
Bei Dir nicht?

Gruss
Klaus
 
Nee ich hab keinen externen Backupserver. Aber ich schieb zumindest
alles in ein separates Verzeichnis "/backup/ auf dem gleichen Server.
Ich hätte ja gerne zwei Wochen lang die Increments und die Full-Backups sollten garnicht überschrieben werden.

Ciao

Martin
 
Hi,

erstmal DANKE für das schöne HOWTO.
Sehr schön ausführlich geschrieben. Das Teil läuft soweit, allerdings bekomm ich folgende Ausgabe:

...
Unlocked tables.
mysqlhotcopy copied 6 tables (19 files) in 0 seconds (0 seconds overall).
tar: Removing leading `/' from member names
tar: -Pv: Cannot stat: No such file or directory
tar: Error exit delayed from previous errors
tar: Removing leading `/' from member names
tar: -Pv: Cannot stat: No such file or directory
tar: Error exit delayed from previous errors
tar: Removing leading `/' from member names
tar: -Pv: Cannot stat: No such file or directory
tar: Error exit delayed from previous errors
tar: Removing leading `/' from member names
tar: Removing leading `/' from hard link targets
tar: -Pv: Cannot stat: No such file or directory
tar: Error exit delayed from previous errors

Woran kann das liegen? Hat jemand ne Ahnung? :confused:

Danke schonmal!
 
Bitte um mehr Infos

murray said:
Hi,

...
Unlocked tables.
mysqlhotcopy copied 6 tables (19 files) in 0 seconds (0 seconds overall).
tar: Removing leading `/' from member names
tar: -Pv: Cannot stat: No such file or directory
tar: Error exit delayed from previous errors
tar: Removing leading `/' from member names
tar: -Pv: Cannot stat: No such file or directory
tar: Error exit delayed from previous errors
tar: Removing leading `/' from member names
tar: -Pv: Cannot stat: No such file or directory
tar: Error exit delayed from previous errors
tar: Removing leading `/' from member names
tar: Removing leading `/' from hard link targets
tar: -Pv: Cannot stat: No such file or directory
tar: Error exit delayed from previous errors

Woran kann das liegen? Hat jemand ne Ahnung? :confused:

Danke schonmal!

1. Kannst Du mal ein grep über die betreffenden Dateien geben,
wo Du den tar mit der Option -Pv zum Einsatz gebracht hast??

Die Option -P ist das sichern von Dateien mit absolutem Pfadnamen
( mit vorangestelltem Slash )
aber das kann nur in Verbindung mit anderen Optionen

-c für create
-x für extract
-t für Inhaltslisting

erfolgen

also zum Erzeugen

tar -cPvf "sicherungsdateiname" quellverzeichnis

in meinen Scripten verwende ich aber die Option (absolutsichern) nicht!!
Es könnte bei Dir das Tool mysqlhotcopy sein, welches diese Funktion verwendet.
Schau mal nach

P.S. mysqlhotcopy gibt es in verschiedenen Versionen - ist halt von
der Version der mysql DB abhängig

Gruss
Klaus
 
Danke für die Antwort.
Habe das mysqlhotcopy mal rausgenommen. Der Fehler tritt aber weiterhin auf.

gnugu13 said:
in meinen Scripten verwende ich aber die Option (absolutsichern) nicht!!

und was ist hiermit???

Code:
createWeekly (){
        ALLSOURCE=$1
        FILENAME=`date +%Y-%m-%d`_$2
        SOURCEDIR=` echo $ALLSOURCE | sed s/,/\ /g`
        tar -czf $WEEKLYDIR/$FILENAME.tar.gz $SOURCEDIR [COLOR="Red"]-Pv[/COLOR] \
                > $WEEKLYDIR/$FILENAME.txt
        # Bilden der Tagessicherungsfiles
        echo $WEEKLYDIR/$FILENAME.tar.gz >> $TARTMPFILE
}
 
Ja wo ist der Fehler :-)

Hi murray,
Ja, da hast Du Recht, ich verwende doch die Optionen.
allerdings um die Verzeichnisnamen in die Logdatei :
Code:
tar -czf $WEEKLYDIR/$FILENAME.tar.gz $SOURCEDIR -Pv \
> $WEEKLYDIR/$FILENAME.txt

zu schreiben.
Ich sitze hier grade in Dresden und kann mit ssh nicht raus zu meinem Server.
Wenn ich daheim bin untersuche ich das mal und gebe hier Bescheid.
Gruss
Klaus
 
Hi Klaus.

Hattest du inzwischen ne Möglichkeit mall nachzusehen? Ich komm einfach nicht dahinter...

Wäre dir sehr dankbar.

Grüße, murrray
 
Brauche mehr Input

Hi
murray said:
Hi Klaus.

Hattest du inzwischen ne Möglichkeit mall nachzusehen? Ich komm einfach nicht dahinter...

Wäre dir sehr dankbar.

Grüße, murrray
Bei mir steht im Logfile nach dem Sichern durch
mysqlhotcopy folgendes (ein Besipiel):
Code:
Unlocked tables.
mysqlhotcopy copied 8 tables (24 files) in 1 second (1 seconds overall).
[COLOR="Red"]building file list ... done[/COLOR]
weekly/
weekly/confixx.tar.gz
weekly/confixx.txt
weekly/cron.tar.gz
weekly/cron.txt
weekly/etc.tar.gz
weekly/etc.txt
weekly/grundweb.tar.gz
weekly/grundweb.txt
weekly/home.tar.gz
weekly/home.txt
weekly/log.tar.gz
weekly/log.txt
weekly/mysql.tar.gz
weekly/mysql.txt
weekly/named.tar.gz
weekly/named.txt
weekly/root.tar.gz
weekly/root.txt
weekly/var-spool-mail.tar.gz
weekly/var-spool-mail.txt
backup_dir is /backup/151219.vserver.de/backup
weekly/web1.tar.gz
weekly/web1.txt
weekly/web10.tar.gz
weekly/web10.txt
weekly/web11.tar.gz
weekly/web11.txt
weekly/web12.tar.gz
weekly/web12.txt
weekly/web13.tar.gz
weekly/web13.txt
weekly/web14.tar.gz
weekly/web14.txt
weekly/web15.tar.gz
weekly/web15.txt
weekly/web16.tar.gz
weekly/web16.txt
weekly/web17.tar.gz
weekly/web17.txt
weekly/web18.tar.gz
weekly/web18.txt
weekly/web19.tar.gz
weekly/web19.txt
weekly/web2.tar.gz
weekly/web2.txt
weekly/web20.tar.gz
weekly/web20.txt
weekly/web21.tar.gz
weekly/web21.txt
weekly/web22.tar.gz
weekly/web22.txt
weekly/web23.tar.gz
weekly/web23.txt
weekly/web24.tar.gz
weekly/web24.txt
weekly/web25.tar.gz
weekly/web25.txt
weekly/web26.tar.gz
weekly/web26.txt
weekly/web3.tar.gz
weekly/web3.txt
weekly/web4.tar.gz
weekly/web4.txt
weekly/web5.tar.gz
weekly/web5.txt
weekly/web6.tar.gz
weekly/web6.txt
weekly/web7.tar.gz
weekly/web7.txt
weekly/web8.tar.gz
weekly/web8.txt
weekly/web9.tar.gz
weekly/web9.txt
wrote 60747984 bytes  read 911924 bytes  347379.76 bytes/sec
total size is 303592830  speedup is 4.92
Diese Meldung
building file list ... done
erscheint aber nicht bei Dir.

das Ist das Logfile building
aus der Datei

Code:
createLOG(){
        LOGFILE=$1
        ARCHIVE=$2
        echo "Backup and tar-archive status:" >> $LOGFILE
        for files in `cat $ARCHIVE`
        do
           [COLOR="Red"]tar -tzvf $files >> $LOGFIL[/COLOR]E
        done
        echo "End is `date`" >> $LOGFILE

Prüf mal Deine scripte dahingehend
und
hast Du auch in der config datei für die Auswahl der Verzeichnisse
etwas hinterlegt???
/etc/backup/backup-dirs.conf
Gruss
Klaus
 
gnugu13 said:
[

Fragen ??
mailto:forum(at)tuxplay.de

oder hier stellen

Gruss
Klaus

Hallo Klaus,
habe die ersten Tests hinter mir und es scheint zu funktionieren. Nur mit den MySQL-Datenbanken habe ich noch ein Problem. Folgende Meldung erscheint an der Shell:

Code:
DBI connect(';host=localhost;mysql_read_default_group=mysqlhotcopy','root',...) failed: Access denied for user: 'root@localhost' (Using password: YES) at /usr/bin/mysqlhotcopy line 182
DBI connect(';host=localhost;mysql_read_default_group=mysqlhotcopy','root',...) failed: Access denied for user: 'root@localhost' (Using password: YES) at /usr/bin/mysqlhotcopy line 182
DBI connect(';host=localhost;mysql_read_default_group=mysqlhotcopy','root',...) failed: Access denied for user: 'root@localhost' (Using password: YES) at /usr/bin/mysqlhotcopy line 182
DBI connect(';host=localhost;mysql_read_default_group=mysqlhotcopy','root',...) failed: Access denied for user: 'root@localhost' (Using password: YES) at /usr/bin/mysqlhotcopy line 182
DBI connect(';host=localhost;mysql_read_default_group=mysqlhotcopy','root',...) failed: Access denied for user: 'root@localhost' (Using password: YES) at /usr/bin/mysqlhotcopy line 182
DBI connect(';host=localhost;mysql_read_default_group=mysqlhotcopy','root',...) failed: Access denied for user: 'root@localhost' (Using password: YES) at /usr/bin/mysqlhotcopy line 182
DBI connect(';host=localhost;mysql_read_default_group=mysqlhotcopy','root',...) failed: Access denied for user: 'root@localhost' (Using password: YES) at /usr/bin/mysqlhotcopy line 182
DBI connect(';host=localhost;mysql_read_default_group=mysqlhotcopy','root',...) failed: Access denied for user: 'root@localhost' (Using password: YES) at /usr/bin/mysqlhotcopy line 182
DBI connect(';host=localhost;mysql_read_default_group=mysqlhotcopy','root',...) failed: Access denied for user: 'root@localhost' (Using password: YES) at /usr/bin/mysqlhotcopy line 182
DBI connect(';host=localhost;mysql_read_default_group=mysqlhotcopy','root',...) failed: Access denied for user: 'root@localhost' (Using password: YES) at /usr/bin/mysqlhotcopy line 182
DBI connect(';host=localhost;mysql_read_default_group=mysqlhotcopy','root',...) failed: Access denied for user: 'root@localhost' (Using password: YES) at /usr/bin/mysqlhotcopy line 182
DBI connect(';host=localhost;mysql_read_default_group=mysqlhotcopy','root',...) failed: Access denied for user: 'root@localhost' (Using password: YES) at /usr/bin/mysqlhotcopy line 182

Was ist da noch falsch :confused:

Bin für jede Antwort sehr dankbar.

Hailender
 
Hallo.. ich weiß, der Thread ist uralt, aber imho sollte das alles ja noch wunderbar funktionieren.. leider ist das Archiv nicht mehr auffindbar, gibts das noch irgendwo?
Wäre schön, dann muss ich mir nicht die ganzen Datein selber per copy&paste kopieren. Und schonmal vielen Dank für das tolle Tutorial.

Eine Frage noch:
Ist das ganze auch geeignet, um einen kompletten Rootserver zu backupen?
Ich würde einfach "/" als backup directory angeben, und das auch komplett so zurückinstallieren, falls ich mal einen neuinstallation machen muss.

Schöne Grüße,
Thomas
 
backuparchiv

Ja der Thread ist wirklich schon alt. Inzwischen ist tuxplay schon mal umgezogen.
Habe aus den Sicherungen mal das Archiv rausgekramt und wieder verlinkt.
Der Link sollte funktionieren.
Für eine Komplettsicherung würde ich nicht / nehmen wollen!!
Es macht keinen Sinn /proc /sys zu sichern. Bei den /tmp /var/tmp
würde ich auch nachdenken.
Also lieber die Verzeichnisse unter der root (/) explizit aufzählen.
Gruss
Klaus
 
Back
Top