Re: Dateien synchronisieren

From: Oliver Fromme <olli(at)secnetix.de>
Date: Wed, 3 Jan 2001 17:30:17 +0100 (CET)

Clemens Hermann <haribeau(at)gmx.de> wrote:
> Am 23.12.2000 um 20:19:36 schrieb Oliver Fromme:
> > Kleiner Tip: Da das Löschen einzelner Dateien offenbar die
> > einzige slave-seitig initiierte Aktion ist, wäre es viel-
> > leicht geschickt, auf dem Client die Löschvorgänge in einer
> > speziellen Datei zu vermerken.
>
> Genau da hänge ich noch, der Rest ist kein Problem. Gibt es irgend eine
> Lösung ein Verzeichnis dahingehend zu "überwachen" was gelöscht wird und
> das am besten irgendwo in ein Log zu schreiben?

Wie erfolgen denn die Löschvorgänge? Kann da ein beliebi-
ger User einfach "rm" machen? In dem Fall wäre es eine
Möglichkeit, einfach rm durch einen Wrapper-Skript zu er-
setzen, der die gelöschten Dateien halt zusätzlich in der
genannten Logdatei vermerkt.

Wenn Du den Usern nicht traust und ganz sichergehen willst,
sorge mit entsprechenden Permissions dafür, daß sie die Da-
teien nicht direkt löschen können, sondern den rm-Wrapper
benutzen müssen, der dann per "sudo" oder "super" (mein Fa-
vorit) die entsprechenden Schreibrechte erlangt.

Keine vorbildlich saubere Lösung, aber immerhin eine Lö-
sung.

> Ansonsten bleibt mir wohl nur, das Verzeichnis nach dem Sync per LS zu
> "fotografieren" und dann vor dem nächsten Sync vergleichen.
> Problem dabei: Ich müsste die Clients blocken, da ja sonst noch bevor
> der "ls" gemacht wird (kann ja erst nach der vollständigen Übertragung
> gemacht werden) Dateien gelöscht werden könnten, die dann nicht
> berücksichtigt werden würden.

Ja, da ist eine Race-condition drin. Ein kleines Zeitfen-
ster, in dem Dir Dateien durch die Lappen gehen können.

Wenn Du es ganz exakt machen wolltest, müßtest Du vor _und_
nach dem Sync sowohl auf dem Master als auch auf dem Slave
ein ls (oder besser ein find) machen.

Die Clients zu blocken ist nicht einfach. Wenn da normale
lokale Shell-User drauf arbeiten (Du hast dazu leider keine
Details verraten), hilft eigentlich nur ein mount -u -o ro.
Nicht besonders schön. Und dann geht natürlich auch kein
Sync (oder Du mountest es für die Dauer des Sync woanders
hin -- noch weniger schön). Dann besser vorher und hinter-
her ls und ggf. "nachbessern" (siehe oben).

Gruß
   Olli

-- 
Oliver Fromme, secnetix GmbH & Co KG, Oettingenstr. 2, 80538 München
Any opinions expressed in this message may be personal to the author
and may not necessarily reflect the opinions of secnetix in any way.
"All that we see or seem is just a dream within a dream" (E. A. Poe)
To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org
with "unsubscribe de-bsd-questions" in the body of the message
Received on Wed 03 Jan 2001 - 17:30:22 CET

search this site