ubuntuusers.de

Backup der Daten am Ubuntu Server

Status: Gelöst | Ubuntu-Version: Server 10.04 (Lucid Lynx)
Antworten |

Lasall

Ehemalige
Avatar von Lasall

Anmeldungsdatum:
30. März 2010

Beiträge: 7723

Hi Goifalracer,

du schriebst:

Stimmt ja jetzt hoffentlich so ??

Sieht jetzt alles sehr schoen aus 👍 .

Aber wo ist festgelegt wann das zeitgesteuerte Backup das in der cron/daily abgelegt ist startet,wenn der server mal angenommen Tage lang an ist,diesen Dienst macht ja dann auch anacron oder doch cron ??

Gute Frage, schaue mal in die Crontab.

Gruss Lasall

Goifalracer

(Themenstarter)

Anmeldungsdatum:
10. Mai 2011

Beiträge: 125

Jap hab nachgeschaut und die crontab sieht so aus

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
# /etc/crontab: system-wide crontab
# Unlike any other crontab you don't have to run the `crontab'
# command to install the new version when you edit this file
# and files in /etc/cron.d. These files also have username fields,
# that none of the other crontabs do.

SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

# m h dom mon dow user  command
17 *    * * *   root    cd / && run-parts --report /etc/cron.hourly
25 18   * * *   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
47 6    * * 7   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
52 6    1 * *   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )

Hab die daily zeile geändert und zwar müsste das Backup jetzt genau um 18.25 automatisch ausgeführt werden? versteh ich das richtig ??

MFG

Lasall

Ehemalige
Avatar von Lasall

Anmeldungsdatum:
30. März 2010

Beiträge: 7723

Hi Goifalracer

du schriebst:

Hab die daily zeile geändert und zwar müsste das Backup jetzt genau um 18.25 automatisch ausgeführt werden? versteh ich das richtig ??

Ja. Teste das Ganze doch mal, indem du die Spooldateien (hier beschrieben) loeschst.

Gruss Lasall

Goifalracer

(Themenstarter)

Anmeldungsdatum:
10. Mai 2011

Beiträge: 125

Du meinst in dem Verzeichnis

 sudo vi /var/spool/anacron/cron.daily

die sich darin befindende Zahlenfolge zu löschen ?

MFG

Lasall

Ehemalige
Avatar von Lasall

Anmeldungsdatum:
30. März 2010

Beiträge: 7723

Hi Goifalracer,

die "Zahlenfolge" stellt sich bei genauerem Hinsehen als Datumsangabe heraus 😉 . Diese einfach loeschen oder umaendern.

Gruss Lasall

Goifalracer

(Themenstarter)

Anmeldungsdatum:
10. Mai 2011

Beiträge: 125

Ja hab ich gelöscht und jetzt sollte er das Backup mal automatisch machen oder ?

MFG

Lasall

Ehemalige
Avatar von Lasall

Anmeldungsdatum:
30. März 2010

Beiträge: 7723

Hi Goifalracer,

prinzipiell sind Fragen immer gut, aber du darfst ruhig selber ein bisschen basteln und probieren. Um auf deine Frage zu antworten: Ja, wobei das mit anacron-only auch automatisch ist.

Gruss Lasall

Goifalracer

(Themenstarter)

Anmeldungsdatum:
10. Mai 2011

Beiträge: 125

Ja ich mach den Testserver morgen nach der Arbeit wieder an,dann schau ich mal ob das Backup um 18.25 anlaüft!!! Ich versteh das ganze jetz so: Cron erledigt mein Backupscript wenn mein Rechner mal ein paar Tage 24h läuft,schalte ich ihn mal z.B. drei Tage aus, dann springt anacron für cron ein und erledigt den cronjob nach der eingestellten Verzögerung!!?

MFG

Lasall

Ehemalige
Avatar von Lasall

Anmeldungsdatum:
30. März 2010

Beiträge: 7723

Hi Goifalracer,

du schriebst:

Ich versteh das ganze jetz so: [...]

Genauso, mit dem Zusatz, dass cron zu den gegebenen Zeiten anacron startet. Dieses wird ausserdem noch bei Systemstart durch einen Upstart-Job ausgefuehrt.

Gruss Lasall

Goifalracer

(Themenstarter)

Anmeldungsdatum:
10. Mai 2011

Beiträge: 125

Guten Morgen Lasall,

Bei mir funktioniert jetzt soweit alles, bei versäumten Backup holt er es nach der eingestellten Verzögerung nach dem Rechner einschalten nach!!! Hab den Rechner 2 Tage laufen lassen und er hat jetzt 2 mal ca 8 Uhr morgens das Backup ausgeführt,so hab ich mir das vorgestellt!! Nur passt die Zeit nicht mit der folgenden Zeiteinstellung in der Crontab zusammen,da müsste ja das Backup um 16:30 starten oder liegt da irgendwie ne Zeitverschiebung mit drin ??

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
# /etc/crontab: system-wide crontab
# Unlike any other crontab you don't have to run the `crontab'
# command to install the new version when you edit this file
# and files in /etc/cron.d. These files also have username fields,
# that none of the other crontabs do.

SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

# m h dom mon dow user  command
17 *    * * *   root    cd / && run-parts --report /etc/cron.hourly
30 16   * * *   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
47 6    * * 7   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
52 6    1 * *   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
#

MFG

Lasall

Ehemalige
Avatar von Lasall

Anmeldungsdatum:
30. März 2010

Beiträge: 7723

Hi Goifalracer,

unter /etc/cron.d/anacron findet sich ein Cronjob, der um 7:30 ausgefuehrt wird. Demnach spielt dann wegen der gesetzten Timestamps dein Crontab-Eintrag keine Rolle mehr. (Ist mir bis dahin noch nicht aufgefallen, sonst haette ich es erwaehnt.) Also kannst du diesen Cronjob auskommentieren oder anpassen.

Gruss Lasall

Goifalracer

(Themenstarter)

Anmeldungsdatum:
10. Mai 2011

Beiträge: 125

Servus Lasall,

Die ganze Backupprozedur funktioniert jetzt so wie ichs wollt!! Wollte mal Danke sagen für deine Unterstützung!! 👍

Bei der Wiederherstellung der Daten ist mir noch was unklar! Und zwar wenn ich das

BACKUPDIR=/media/backup   # Pfad zum Backupverzeichnis

for archiv in ${BACKUPDIR}/backup-*.tgz; do

tar -xzf $archiv -C /

done 

im Editor vi in eine Datei schreibe es abspeichere und ausführbar mache schreibt er mir das Vollbackup wieder ins ursprüngliche Verzeichnis zurück,das ist schon ganz gut!! Aber wenn jetzt z.B. meine Festplatte dev/sda mit der Systempartition und der Datenpartition abraucht,dann bau ich ne neue ein partitioniere und richte sie genau so wie die Alte Platte ein ,und danach will ich ja die letzte Sicherung meines Ikremmentellen Backups von der Backupplatte zurückspulen !! Das zurückspulen sollte laut der Anleitung Skripte/inkrementelles Backupes so funktionieren!!

Will man nur einzelne Dateien zurücksichern, so bedient man sich folgenden Tricks. Dies ist notwendig, da mit inkrementellen Backups gearbeitet wird und die letzte Sicherung der verlorenen Datei benötigt wird.

Zuerst sucht man die Datei.

BACKUPDIR=media/backup

ls -l ${BACKUPDIR}

for archiv in ${BACKUPDIR}/backup-*.tgz; do

tar -tzf $archiv -C / | grep Name_der_Datei;

Nun merkt man sich den Pfad und stellt die Datei wieder her.

for archiv in ${BACKUPDIR}/backup-*.tgz; do

tar -xzf $archiv -C /   home/user/pfad/zur/datei/Name_der_Datei
done 

Die Datei wird nun in den ursprünglichem Pfad wiederhergestellt.

Mein Vorhaben müsste doch so funktionieren oder ???

Doch ich weis blos nicht wo ich was eintragen muss und ob ich die Datei wieder ausführbar speichern muss?? Könntest du mir das bitte erklären ?? Danke

Lasall

Ehemalige
Avatar von Lasall

Anmeldungsdatum:
30. März 2010

Beiträge: 7723

Hi Goifalracer,

du schriebst:

Wollte mal Danke sagen für deine Unterstützung!! 👍

Gerne geschehen 👍 !

[...] Mein Vorhaben müsste doch so funktionieren oder ???

Sofern du die gesamte Platte mit Ausnahme der virtuellen Dateisysteme, Geraetedateien (und temporaeren Dateien) (siehe Verzeichnisstruktur) sicherst, klappt das.

Doch ich weis blos nicht wo ich was eintragen muss und ob ich die Datei wieder ausführbar speichern muss?? Könntest du mir das bitte erklären ??

  1. Eine beliebige Textdatei oeffnen:

    vi ruecksichern.sh
  2. Dort den folgenden Text eintragen:

    1
    2
    3
    4
    5
    6
    7
    8
    #!/bin/bash
    # recover complete backup from $BACKUPDIR to /
    
    BACKUPDIR=/media/backup   # Pfad zum Backupverzeichnis
    
    for archiv in ${BACKUPDIR}/backup-*.tgz; do
      tar -xzf $archiv -C /
    done
    
  3. Ausfuehrbar machen:

    chmod u+x ruecksichern.sh


Um einzelne Dateien wiederherzustellen, folgendendermassen vorgehen:

  1. Skript erstellen:

    vi ruecksichern-single-find.sh
  2. Code einfuegen:

1
2
3
4
5
6
7
8
9
#!/bin/bash
# search for file or folder Name_der_Datei

BACKUPDIR=media/backup

ls -l ${BACKUPDIR}
for archiv in ${BACKUPDIR}/backup-*.tgz; do
  tar -tzf $archiv -C / | grep Name_der_Datei;
done
  1. Ausfuehrbar machen:

    chmod u+x ruecksichern-single-find.sh

Nachdem du die Ausgabe von "./ruecksichern-single-find.sh" validiert hast, kannst du unter Eingabe des Pfades mit folgendem Skript wiederherstellen:

  1. Anlegen:

    vi ruecksichern-single.sh
  2. Code einfuegen:

    1
    2
    3
    4
    5
    6
    #!/bin/bash
    # recover single file or folder Name_der_Datei
    
    for archiv in ${BACKUPDIR}/backup-*.tgz; do
      tar -xzf $archiv -C /   home/user/pfad/zur/datei/Name_der_Datei
    done
    
  3. Ausfuehrbar machen:

    chmod u+x ruecksichern-single.sh

Zusaetzlich kannst du noch die Skripte abwandeln, sodass ein Parameter ("$1"), das Bearbeiten des Skriptes obsolet macht. Arbeite dich dazu etwas in Shell ein. Das Aufrufen der Skripte erfolgt mit Rootrechten und entweder "./SKRIPTNAME" oder "bash SKRIPTNAME" (wobei es dann auch nicht ausfuehrbar sein muss).

Gruss Lasall

Goifalracer

(Themenstarter)

Anmeldungsdatum:
10. Mai 2011

Beiträge: 125

Hi

versteh das leider nicht ganz,das mit den Skripten weiss ich,aber wie ich diese schreiben muss z.B bei dem mit dem einzelnen rücksichern ?

1
2
3
4
5
6
7
8
9
#!/bin/bash
# search for file or folder Name_der_Datei

BACKUPDIR=media/backup

ls -l ${BACKUPDIR}
for archiv in ${BACKUPDIR}/backup-*.tgz; do
  tar -tzf $archiv -C / | grep Name_der_Datei;
done

Bei (BACKUPDIR) trag ich das Verzeichnis ein in dem meine Backups sind oder ??? Und was muss ich bei Name_der_Datei eingeben ??Was(validiert) bedeutet versteh ich aber ich versteh nicht wie ich es mir hier erklären soll ??

Und beim letzten muss ich was eingeben??

1
2
3
4
5
6
7
#!/bin/bash
# recover single file or folder Name_der_Datei

for archiv in ${BACKUPDIR}/backup-*.tgz; do
  tar -xzf $archiv -C /   home/user/pfad/zur/datei/Name_der_Datei
done

Und was machen die beiden Skripte eigentlich genau ?? Vieleicht vertseh ichs dann besser!!!

P.S. Sorry ich steh evtl aufm Schlauch 😕

Lasall

Ehemalige
Avatar von Lasall

Anmeldungsdatum:
30. März 2010

Beiträge: 7723

Hi Goifalracer,

du schriebst:

Bei (BACKUPDIR) trag ich das Verzeichnis ein in dem meine Backups sind oder ???

Genau. Beachte allerdings absolute und relative Pfade. Ein absoluter Pfad geht immer von der Wurzel aus und beginnt mit / (und ist vorzuziehen).

Und was muss ich bei Name_der_Datei eingeben ??

Die Datei, welche du wiederherstellen moechtest. Also z.B. deine Bashhistory .bash_history, mit der du mit "history" suchen kannst.

Was(validiert) bedeutet versteh ich aber ich versteh nicht wie ich es mir hier erklären soll ??

Gibt es mehrere Dateien, die den Suchbegriff enthalten (z.B. "history"), dann bekommst du auch mehrere Ergebnisse, bei denen du per Hand und Auge dich fuer das korrekte entscheiden musst.

Und beim letzten muss ich was eingeben??

Dort gibst du den Pfad ein, welchen du im vorherigen Skript herausbekommen / -gesucht hast.

Und was machen die beiden Skripte eigentlich genau ?? Vieleicht vertseh ichs dann besser!!!

Lese dir die einzelnen Wikiartikel zu den verwendeten Programmen durch. Also ls und tar. Fuer die Variablen und Schleifen noch Shell (Abschnitt „Basics“).

Gruss Lasall