ubuntuusers.de

Skripte/Backup_mit_RSYNC

Status: Ungelöst | Ubuntu-Version: Nicht spezifiziert
Antworten |
Dieses Thema ist die Diskussion des Artikels Skripte/Backup_mit_RSYNC.

Tronde Team-Icon

Avatar von Tronde

Anmeldungsdatum:
23. November 2006

Beiträge: 1640

Hallo.

Ich habe mal eine Frage zur Option MONTHROTATE. Und zwar bin ich mir bei der Bedeutung der Parameter nicht sicher.

Wenn ich MONTHROTATE=monthrotate setze bekomme ich eine Historie von 30 Tagen. Mein Ziel ist es die Historie herabzuseten. Wenn ich MONTHROTATE=10 setze, erhalte ich dann eine Historie von 10 Tagen oder eine Historie von 10 Monaten?

MfG Tronde

uname

Anmeldungsdatum:
28. März 2007

Beiträge: 6030

Wohnort: 127.0.0.1

Die Software sieht nur beliebig viele Versionen (JJMMTT) oder 31-Versionen (TT) vor. Um nur 10 Versionen zu erhalten (letztes T) könnte man die Software wie folgt ändern:

Direkt unterhalb von

1
TODAY=$($DATE +%d) 

folgenden Befehl hinzufügen:

1
TODAY=${TODAY:1:1}; 

Nur halb getestet, sollte dann Ordner "0" bis "9" anlegen. Für heute "25" würde der Ordner "5" angelegt.

Tronde Team-Icon

Avatar von Tronde

Anmeldungsdatum:
23. November 2006

Beiträge: 1640

Hallo.

Ich habe leider noch Probleme zu verstehen was du genau meinst. Das hängt damit zusammen, dass mir noch nicht ganz klar ist was folgende Verzweigung genau bewirkt:

1
2
3
4
5
if [ -z "$MONTHROTATE" ]; then
    TODAY=$($DATE +%y%m%d)
  else
    TODAY=$($DATE +%d)
  fi

Kannst du mir erklären was genau hier passiert? Ich verstehe es in soweit, dass der Variablen TODAY ein gewisses Format zugewiesen wird, wenn die Variable MONTHROTATE einen Wert besitzt. Aber diese Überlegung kann nicht ganz richtig sein, da ich nicht weiss wann in diesem Fall die else Bedingung erfüllt ist. ☹ Was macht z.B. der Parameter -z in der IF Bedingung?

Gruß

Tronde

Tronde Team-Icon

Avatar von Tronde

Anmeldungsdatum:
23. November 2006

Beiträge: 1640

Ok. Wie die IF-Verzweigung funktioniert und was sie bewirkt habe ich vestanden. Aber kannst du mir bitte erklären wie dein Befehl

1
TODAY=${TODAY:1:1}; 

dafür sorgt, dass nur noch der einstellige Tag ausgewertet wird?

Gruß

Tronde

uname

Anmeldungsdatum:
28. März 2007

Beiträge: 6030

Wohnort: 127.0.0.1

Der Wert der Variablen $TODAY (z.B. 25) wird genommen und ab Position 1 (ab Zeichen 2) für 1 Zeichen (Wert 5) der Variablen $TODAY zugewiesen.

Tronde Team-Icon

Avatar von Tronde

Anmeldungsdatum:
23. November 2006

Beiträge: 1640

Danke für die Erklärung. Ich probiere es bei nächster Gelegenheit aus. ☺

TobiTob

Anmeldungsdatum:
31. Januar 2009

Beiträge: Zähle...

Hallo, ich habe ich habe versucht unter ubuntu 11.04 mittels des Skriptes von meinem ext4 Dateisystem auf eine externe NTFS Festplatte zu synchronisieren. Leider funktioniert das inkrementelle backup dann nicht. Wenn ich von ext nach ext mit denselben Befehlen synchronisiere, dann klappt alles einwandfrei. Im Wiki ist aber vermerkt, dass inkrementelle Backups nach NTFS möglich sind. Muss ich da noch irgendetwas weiteres beachten? Laut Paket Manager ist ntfs-3g installiert.

Lasall

Ehemalige
Avatar von Lasall

Anmeldungsdatum:
30. März 2010

Beiträge: 7723

Hi TobiTob,

hast du das Skript aus Cygwin heraus gestartet? Nur unter dieser Bedingung ist es inkrementell funktionstüchtig notiert.

Gruss Lasall

TobiTob

Anmeldungsdatum:
31. Januar 2009

Beiträge: 39

Mh ok das habe ich falsch verstanden. Da Häkchen bei NTFS (ntfs-3g) habe ich so interpretiert, dass bei vorhandenem ntfs-3g das inkrementelle Backup von Ubuntu aus möglich sein sollte. Den Satz, dass inkrementelle Backups aus Windows mit cygwin möglich sind hatte ich als Zusatzinformation verstanden.

Auf was bezieht sich der NTFS (ntfs-3g) eintrag dann? Auf mittels ntfs-3g erstellte NTFS Partitionen, auf die dann über Windows mittels cygwin inkrementell gesichert werden kann?

Vielleicht kann man das etwas deutlicher machen. Z.B. das "Ja" in ein "(Ja) inkrementelle Backups nur von Windows über cygwin möglich". Oder zumindest im Hinweis deutlich machen, dass inkrementelle backups NUR von Windows über cygwin möglich sind. Zumindest ich hatte es komplett falsch verstanden und den Fehler erst an vielen anderen Stellen gesucht bevor ich auf die Idee kam, dass es doch am Ziel Filesystem liegt.

Vielen Dank aber auf jeden Fall schon einmal für die Aufklärung. Tobias

uname

Anmeldungsdatum:
28. März 2007

Beiträge: 6030

Wohnort: 127.0.0.1

Ich musste eine kleine Änderung vornehmen.

alt:

1
LAST="last"; INC="--link-dest=../$LAST"

neu:

1
LAST="last"; INC="--link-dest=$TARGET/$LAST"

Der Grund liegt darin, dass wohl teilweise die inkrementelle Sicherung beim Aufruf über CRON nicht funktioniert. Bin mir da aber nicht ganz sicher. Kann ja mal jemand verifizieren.

u1000

Anmeldungsdatum:
2. Oktober 2011

Beiträge: 1850

Habe gerade festgestellt:

Die direkt angezeigte Version vom Script ist eine andere als die man Runterladen kann !

Die direkt angezeigte Version ist besser gequotet - ich kann aber nicht sagen, welches die "richtige" Variante ist.

Auf jeden Fall wurde hier festgestellt, dass wohl in der Downloadversion das Quoting unvollständig ist und zu Fehlern führt.

viele grüße u1000

aasche

Anmeldungsdatum:
30. Januar 2006

Beiträge: 14259

Anlagen entfernt. Nun sind keine Verwechselungen mehr moeglich (und keine Synchronisierung mehr erforderlich), da das Skript nur noch im Artikel vorhanden ist.

uname

Anmeldungsdatum:
28. März 2007

Beiträge: 6030

Wohnort: 127.0.0.1

Danke für die Anpassungen.

sappel

Anmeldungsdatum:
6. Juni 2013

Beiträge: 2

Hm, ich bitte um Verzeihung, wenn ich zu doof bin, aber wie darf ich das Script und die Beispiele denn verstehen? Das Bsp. "to usb" bezieht sich dann nur auf den oberen Teil vor dem "do not edit"?

uname

Anmeldungsdatum:
28. März 2007

Beiträge: 6030

Wohnort: 127.0.0.1

Das Bsp. "to usb" bezieht sich dann nur auf den oberen Teil vor dem "do not edit"?

Genau. Nach dem "do not edit" beginnt das eigentliche Programm. Bei anderen Programmen wird gerne Programm und Konfiguration getrennt. Aber das war gerade das Ziel an diesem Script, dass es eben nur aus einer Datei bestehend aus Konfiguration und Programm besteht.