ubuntuusers.de

mit rsync komplette Ordner sichern

Status: Ungelöst | Ubuntu-Version: Ubuntu 6.10 (Edgy Eft)
Antworten |

Sahnebutterhupfnudel

Avatar von Sahnebutterhupfnudel

Anmeldungsdatum:
27. Februar 2007

Beiträge: 48

Wohnort: Neckarsulm

Ich sichere schon seit geraumer Zeit meine Dateien täglich mithilfe von rsync. Nun musste ich aber feststellen, dass neu hinzugekommene Ordner von rsync mit meinen jetzigen Aufrufparametern nicht mitgesichert werden.
Ich rufe rsync folgendermaßen per Shell-Shript auf:

rsync -arv /home/ich/Dokumente/ /media/usblaufwerk/home/ich/Dokumente/


Nun kann es aber vorkommen, dass ich in irgendeinem Unterordner von "Dokumente" einen neuen Ordner anlege und dort Dateien abspeichere. rsync kopiert mir diesen Ordner dann aber nicht automatisch, obwohl ich den Parameter "-r" mitgebe, und die darin angelegten Dateien logischerweise auch nicht. Woran liegts?

uname

Anmeldungsdatum:
28. März 2007

Beiträge: 6030

Wohnort: 127.0.0.1

Hallo,

der Aufruf ist vollkommen ok. Das "r" kannst Du weglassen:

  • a, --archive archive mode; same as -rlptgoD (no -H, -A)

Ich nutze ein ähnliches Script (nur mit Parameter --link-dest wegen inkrementelles Backup). Außerdem habe ich deine Situation nachgestellt. Ein neuer Ordner incl. Unterordner und Dateien wird auf jeden Fall mit synchronisiert. Wichtig ist natürlich der "/" am Ende von Quelle und Ziel.

Vielleicht solltest Du dein Script überprüfen oder die entscheidenen Teile daraus hier posten.

ojkastl

Anmeldungsdatum:
29. April 2007

Beiträge: 79

Wohnort: Erlangen

Oder dir mal dirvish ansehen, das setzt auf rsync auf, und erstellt mit Hardlinks platzsparend bei jeder Sicherung einen neuen Ordner, so dass man einfach einen bestimmten Stand holen kann.

Sahnebutterhupfnudel

(Themenstarter)
Avatar von Sahnebutterhupfnudel

Anmeldungsdatum:
27. Februar 2007

Beiträge: 48

Wohnort: Neckarsulm

Ich habe den Aufruf von rsync nun auch nochmal getestet an meinem Bilder-Ordner. Hat er tadellos gemacht und mir einen neu hinzugekommenen Unterordner komplett übernommen. Komisch. Stimmt da was an meinem Script nicht? Wobei "Script" übertrieben ist, ich rufe einfach rsync mehrmals hintereinander auf die entsprechenden Ordner auf:

# AUDIO-VERZEICHNIS
echo ------------------------------------------------------ >> /home/matthias/rsync_weekly.log
date >> /home/matthias/rsync_weekly.log
echo Synchronisiere \/home\/matthias\/Audio\/ >> /home/matthias/rsync_weekly.log
echo ------------------------------------------------------ >> /home/matthias/rsync_weekly.log
echo >> /home/matthias/rsync_weekly.log
echo rsync -arv \/home\/matthias\/Audio\/ \/media\/TREKSTOR\/home\/matthias\/Audio\/ >> /home/matthias/rsync_weekly.log

rsync -arv /home/matthias/Audio/ /media/TREKSTOR/home/matthias/Audio/

echo >> /home/matthias/rsync_weekly.log
echo ------------------------------------------------------ >> /home/matthias/rsync_weekly.log
date >> /home/matthias/rsync_weekly.log
echo Synchronisation abgeschlossen >> /home/matthias/rsync_weekly.log
echo ------------------------------------------------------ >> /home/matthias/rsync_weekly.log
echo >> /home/matthias/rsync_weekly.log


# BILDER-VERZEICHNIS
echo ------------------------------------------------------ >> /home/matthias/rsync_weekly.log
date >> /home/matthias/rsync_weekly.log
echo Synchronisiere \/home\/matthias\/Bilder\/ >> /home/matthias/rsync_weekly.log
echo ------------------------------------------------------ >> /home/matthias/rsync_weekly.log
echo >> /home/matthias/rsync_weekly.log
echo rsync -arv \/home\/matthias\/Bilder\/ \/media\/TREKSTOR\/home\/matthias\/Bilder\/ >> /home/matthias/rsync_weekly.log

rsync -arv /home/matthias/Bilder/ /media/TREKSTOR/home/matthias/Bilder/

echo >> /home/matthias/rsync_weekly.log
echo ------------------------------------------------------ >> /home/matthias/rsync_weekly.log
date >> /home/matthias/rsync_weekly.log
echo Synchronisation abgeschlossen >> /home/matthias/rsync_weekly.log
echo ------------------------------------------------------ >> /home/matthias/rsync_weekly.log
echo >> /home/matthias/rsync_weekly.log

# DOKUMENTE-VERZEICHNIS
echo ------------------------------------------------------ >> /home/matthias/rsync_weekly.log
date >> /home/matthias/rsync_weekly.log
echo Synchronisiere \/home\/matthias\/Dokumente\/ >> /home/matthias/rsync_weekly.log
echo ------------------------------------------------------ >> /home/matthias/rsync_weekly.log
echo >> /home/matthias/rsync_weekly.log
echo rsync -arv \/home\/matthias\/Dokumente\/ \/media\/TREKSTOR\/home\/matthias\/Dokumente\/ >> /home/matthias/rsync_weekly.log

rsync -arv /home/matthias/Dokumente/ /media/TREKSTOR/home/matthias/Dokumente/

echo >> /home/matthias/rsync_weekly.log
echo ------------------------------------------------------ >> /home/matthias/rsync_weekly.log
date >> /home/matthias/rsync_weekly.log
echo Synchronisation abgeschlossen >> /home/matthias/rsync_weekly.log
echo ------------------------------------------------------ >> /home/matthias/rsync_weekly.log
echo >> /home/matthias/rsync_weekly.log


Ist jetzt halt ein Haufen logging mit dabei, kann das Probleme geben? Und bitte nicht auslachen, falls dieses Logging auch viel einfach geht als mit "echo" und ">>", aber ich kenn mich da halt noch nicht so gut aus.

Und könnte es was mit der Rechtevergabe zu tun haben? Also dass die Scripte einen falschen Besitzer haben oder der Zielordner oder was auch immer? Aber da ich die Jobs von anachron ausführen lasse, sollten die Scripte ja Root-Rechte haben.

user_unknown

Avatar von user_unknown

Anmeldungsdatum:
10. August 2005

Beiträge: 17622

Wohnort: Berlin

Geht deutlich einfacher.
Einfach alle Gemeinsamkeiten herausfaktorieren, z.B. so:

#!/bin/bash

function line 
{
	echo "------------------------------------------------------"
}

function myrs
{
	line
	date
	source=/home/matthias/$1 
	target=/media/TREKSTOR/home/matthias/$1
	echo rsync -arv $source $target
	rsync -arv $source $target
	line 
}

function rs_all
{
	myrs  Audio	
	myrs  Bilder
	myrs  Dokumente
}

rs_all >> /home/matthias/rsync_weekly.log


Keine Gewähr für die Richtigkeit, aber das Prinzip ist jetzt wohl klar geworden?

Sahnebutterhupfnudel

(Themenstarter)
Avatar von Sahnebutterhupfnudel

Anmeldungsdatum:
27. Februar 2007

Beiträge: 48

Wohnort: Neckarsulm

Tja, ich bin halt noch nicht so der Scripting-Guru, aber das Prinzip ist klar geworden. Vielen Dank!

Allerdings bleibt mein Problem dadurch immernoch bestehen, dass Ordner, die neu hinzugekommen sind, bei Ausführung des Scripts nicht mitgesichert werden. Allerdings vermute ich, dass es sich eher um ein Problem mit der Rechtevergabe o.ä. handelt. Beim Ausführen des Scripts entsteht unter anderem folgende Ausgabe:

rsync: failed to set permissions on "/media/TREKSTOR/home/matthias/Dokumente/eBooks/galileocomputing_ubuntu/ubuntu/bilder": Read-only file system (30)


Also es kommen mehrere Fehler, jeweils mit der Begründung "Read-only file system (30)". Allerdings verwende ich als Dateisystem auf meiner mobilen TREKSTOR-Festplatte FAT32, was ja beschreibbar ist. Und wenn ich den rsync-Befehl manuell absetze, dann funktioniert das ja wie gesagt auch tadellos, nur eben nicht in meinem Script, das von anachron ausgeführt wird. Woran kann das liegen???

Kopfgeldjaeger

Anmeldungsdatum:
24. Dezember 2006

Beiträge: 1168

FAT32 unterstützt kein CHMOD...

mfg

Sahnebutterhupfnudel

(Themenstarter)
Avatar von Sahnebutterhupfnudel

Anmeldungsdatum:
27. Februar 2007

Beiträge: 48

Wohnort: Neckarsulm

Heißt? Bitte etwas genauer ☺

otzenpunk Team-Icon

Avatar von otzenpunk

Anmeldungsdatum:
17. Oktober 2005

Beiträge: 8691

Wohnort: Hamburg-Altona

Sahnebutterhupfnudel hat geschrieben:

Heißt? Bitte etwas genauer ☺

Das heißt, dass FAT ein Dateisystem für alte DOS-Boxen ist, auf denen es weder mehrere Benutzer, noch eine Rechteverwaltung gab. Deswegen ist so etwas auch nicht in das Dateisystem integriert und es ist deshalb völlig ungeeignet, um da mit rsync ein Backup drauf zu machen.

Sahnebutterhupfnudel

(Themenstarter)
Avatar von Sahnebutterhupfnudel

Anmeldungsdatum:
27. Februar 2007

Beiträge: 48

Wohnort: Neckarsulm

Aber wenn ich rsync manuell aufrufe funktioniert es doch wunderbar. Ich nutze halt deswegen FAT32, weil ich auf die Daten auch von einem parallel installierten Windows zugreifen möchte. Was würdet ihr mir also als Lösung empfehlen? Meine mobile Festplatte mit einem anderen Dateisystemformatieren?

ojkastl

Anmeldungsdatum:
29. April 2007

Beiträge: 79

Wohnort: Erlangen

Sahnebutterhupfnudel hat geschrieben:

Meine mobile Festplatte mit einem anderen Dateisystemformatieren?

Ja, ext3, und dann per Ext2IFS für Windows unter Windows nutzen.

Sahnebutterhupfnudel

(Themenstarter)
Avatar von Sahnebutterhupfnudel

Anmeldungsdatum:
27. Februar 2007

Beiträge: 48

Wohnort: Neckarsulm

Und das müsste mein Problem lösen? Wieso funktionert der manuelle Aufruf von rsync dann tadellos?

ojkastl

Anmeldungsdatum:
29. April 2007

Beiträge: 79

Wohnort: Erlangen

Exakt gesagt löst das dein Problem nicht, sondern umgeht es. Zudem ist ext3 ein Journalling Filesystem, d.h. Dateisystemüberprüfungen sind um einiges schneller, es beherrscht Linux-Benutzerrechte,...

Warum der manuelle Aufruf funktioniert müsstest du wohl auf der rsync-Mailingliste/im Rsync-Forum fragen, keine Ahnung.

Antworten |