Hallo, wenn eine Datei gelöscht wird auf die ein Hardlink zeigt so bleibt sie ja an der Position des Hardlinks bestehen. Soweit so gut aber gibt es einen ähnlichen Mechanismus für veränderte Dateien? Gruß und Dank Ralf Prengel Manager Customer Care Comline AG Hauert 8 D-44227 Dortmund/Germany Fon +49 231 97575 904 Fax +49 231 97575 257 Mobil +49 151 10831 157 EMail Ralf.Prengel@comline.de www.comline.de Vorstand Stephan Schilling, Erwin Leonhardi Aufsichtsrat Dr. Franz Schoser (Vorsitzender) HR Dortmund B 14570 USt.-ID-Nr. DE 124727422 -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
(Sorry wegen PM) On Wed, November 18, 2009 1:29 pm, prengel wrote:
wenn eine Datei gelöscht wird auf die ein Hardlink zeigt so bleibt sie ja an der Position des Hardlinks bestehen. Soweit so gut aber gibt es einen ähnlichen Mechanismus für veränderte Dateien?
Wie meinst Du das? regards, Christian -- :wq -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Hallo Roalf, On Wednesday 18 November 2009 13:29:57 prengel wrote:
wenn eine Datei gelöscht wird auf die ein Hardlink zeigt so bleibt sie ja an der Position des Hardlinks bestehen.
Du loescht nie eine Datei, du loescht erst mal immer nur den Directoryeintrag. Wenn der letzte Directoryeintrag der auf eine bestimmte Datei, oder besser auf die Daten einer bestimmten Datei verschwindet (und fuer Programmierer wichtig: der letzte Prozess ein close auf diese Datei gemacht hat), dann verschwindet auch die Datei selbst.
Soweit so gut aber gibt es einen ähnlichen Mechanismus für veränderte Dateien?
Diese Frage verstehe ich nicht richtig. Annahme: Du hast zwei Directoryeintrage /dir1/file1 /dir2/file2 Die dieselbe Datei darstellen, also ein Hardlink. Sagen wir mal die Datei enthaelt irgendetwas anderes als den Text 'Hello World!', ist ja meistens der Fall. :) Wenn du nun echo 'Hello World!' > /dir1/file1 cat /dir2/file2 ausfuehrst, so bekommst du als Ausgabe natuerlich Hello World! Roman -- Roman Fietze Telemotive AG Büro Mühlhausen Breitwiesen 73347 Mühlhausen Tel.: +49(0)7335/18493-45 http://www.telemotive.de -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Roman Fietze schrieb:
Diese Frage verstehe ich nicht richtig. Annahme:
Du hast zwei Directoryeintrage
/dir1/file1 /dir2/file2
Die dieselbe Datei darstellen, also ein Hardlink. Sagen wir mal die Datei enthaelt irgendetwas anderes als den Text 'Hello World!', ist ja meistens der Fall. :)
Wenn du nun
echo 'Hello World!' > /dir1/file1 cat /dir2/file2
ausfuehrst, so bekommst du als Ausgabe natuerlich
Hello World!
Ok, ich versuche etwas anders: /tmp/file01 enthält die Info "hello world" auf file01 zeigt ein Hardlink der unter /backup/file01 liegt lösche ich /tmp/file01 so bleibt /backup/file01 sozusagen stehen ändere ich /tmp/file01 in "hello earth" so ändert sich auch der "Inhalt" in /backup/tmp. Ich suche jetzt nach einer Möglichkeit das in dem Fall von Änderungen aus dem Hardlink eine echte Datei wird die den alten Inhalt enthält. Gruß Ralf Prengel Manager Customer Care Comline AG Hauert 8 D-44227 Dortmund/Germany Fon +49 231 97575 904 Fax +49 231 97575 257 Mobil +49 151 10831 157 EMail Ralf.Prengel@comline.de www.comline.de Vorstand Stephan Schilling, Erwin Leonhardi Aufsichtsrat Dr. Franz Schoser (Vorsitzender) HR Dortmund B 14570 USt.-ID-Nr. DE 124727422 -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
On Wed, November 18, 2009 2:06 pm, prengel wrote:
/tmp/file01 enthält die Info "hello world" auf file01 zeigt ein Hardlink der unter /backup/file01 liegt lösche ich /tmp/file01 so bleibt /backup/file01 sozusagen stehen ändere ich /tmp/file01 in "hello earth" so ändert sich auch der "Inhalt" in /backup/tmp. Ich suche jetzt nach einer Möglichkeit das in dem Fall von Änderungen aus dem Hardlink eine echte Datei wird die den alten Inhalt enthält.
Kopiere die Datei vor den Änderungen auf ein anderes Dateisystem. cp --no-preserve=links könnte auch helfen. regards, Christian -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Christian Brabandt schrieb:
On Wed, November 18, 2009 2:06 pm, prengel wrote:
/tmp/file01 enthält die Info "hello world" auf file01 zeigt ein Hardlink der unter /backup/file01 liegt lösche ich /tmp/file01 so bleibt /backup/file01 sozusagen stehen ändere ich /tmp/file01 in "hello earth" so ändert sich auch der "Inhalt" in /backup/tmp. Ich suche jetzt nach einer Möglichkeit das in dem Fall von Änderungen aus dem Hardlink eine echte Datei wird die den alten Inhalt enthält.
Kopiere die Datei vor den Änderungen auf ein anderes Dateisystem.
cp --no-preserve=links könnte auch helfen.
Ich habe keine Eingriffsmöglichkeit. Es muß automatisch passieren. Gruß Ralf Prengel Manager Customer Care Comline AG Hauert 8 D-44227 Dortmund/Germany Fon +49 231 97575 904 Fax +49 231 97575 257 Mobil +49 151 10831 157 EMail Ralf.Prengel@comline.de www.comline.de Vorstand Stephan Schilling, Erwin Leonhardi Aufsichtsrat Dr. Franz Schoser (Vorsitzender) HR Dortmund B 14570 USt.-ID-Nr. DE 124727422 -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Hi prengel! On Mi, 18 Nov 2009, prengel wrote:
Christian Brabandt schrieb:
On Wed, November 18, 2009 2:06 pm, prengel wrote:
/tmp/file01 enthält die Info "hello world" auf file01 zeigt ein Hardlink der unter /backup/file01 liegt lösche ich /tmp/file01 so bleibt /backup/file01 sozusagen stehen ändere ich /tmp/file01 in "hello earth" so ändert sich auch der "Inhalt" in /backup/tmp. Ich suche jetzt nach einer Möglichkeit das in dem Fall von Änderungen aus dem Hardlink eine echte Datei wird die den alten Inhalt enthält.
Kopiere die Datei vor den Änderungen auf ein anderes Dateisystem.
cp --no-preserve=links könnte auch helfen.
Ich habe keine Eingriffsmöglichkeit. Es muß automatisch passieren.
Dann kommt es drauf an, wie die Änderungen durchgeführt werden. Es gibt Anwendungen, die hardlinks nicht kennen und beim Schreiben quasi eine neue Datei schreiben. spontaner Gedanke: Eventuell läßt sich auch mit Squasfs in Verbindung mit UnionFS was machen. Mit freundlichen Grüßen Christian -- Wie man sein Kind nicht nennen sollte: Wim Bledon -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Am Mittwoch, 18. November 2009 schrieb prengel:
Christian Brabandt schrieb:
On Wed, November 18, 2009 2:06 pm, prengel wrote: ...
Ich suche jetzt nach einer Möglichkeit das in dem Fall von Änderungen aus dem Hardlink eine echte Datei wird die den alten Inhalt enthält.
Kopiere die Datei vor den Änderungen auf ein anderes Dateisystem.
cp --no-preserve=links könnte auch helfen.
Ich habe keine Eingriffsmöglichkeit. Es muß automatisch passieren. an welcher Stelle soll es denn automatisch passieren? Wenn es direkt beim Schreibzugriff durch ein beliebiges Programm passieren soll, dann muss dieses Programm das unterstützen.
Oder meinst Du das für den Fall einer Kopie bzw. Datensicherung? Wie z.B. mit solchen Tools wie rsnapshot oder den vielen anderen von rsync abgeleiteten Sicherungstools? Oder alternativ ein Versionsverwaltungssystem wie z.B. SVN - da kannst Du (z.B. in Verbindung mit webdav) auch eine automatische Versionierung erzwingen...? Gruß Martin -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Martin Hofius schrieb:
cp --no-preserve=links könnte auch helfen. Ich habe keine Eingriffsmöglichkeit. Es muß automatisch passieren. an welcher Stelle soll es denn automatisch passieren? Wenn es direkt beim Schreibzugriff durch ein beliebiges Programm passieren soll, dann muss dieses Programm das unterstützen.
Oder meinst Du das für den Fall einer Kopie bzw. Datensicherung? Wie z.B. mit solchen Tools wie rsnapshot oder den vielen anderen von rsync abgeleiteten Sicherungstools? Oder alternativ ein Versionsverwaltungssystem wie z.B. SVN - da kannst Du (z.B. in Verbindung mit webdav) auch eine automatische Versionierung erzwingen...?
Ich sichere derzeit bereits mit rsync. Ein Kunde möchte stündliche Sicherungen von 3 Verzeichnisssen die 40 GB enthalten. 40 GB mal 12 Stunden ist möglich aber Platzverschwendung. Es gibt einige Tools die mit z.B cp -al umkopieren. /z.B https://wiki.uugrn.org/Snapshots_per_rsync) aber die Frage ist ob es auch einfacher geht. Gruß Ralf Prengel Manager Customer Care Comline AG Hauert 8 D-44227 Dortmund/Germany Fon +49 231 97575 904 Fax +49 231 97575 257 Mobil +49 151 10831 157 EMail Ralf.Prengel@comline.de www.comline.de Vorstand Stephan Schilling, Erwin Leonhardi Aufsichtsrat Dr. Franz Schoser (Vorsitzender) HR Dortmund B 14570 USt.-ID-Nr. DE 124727422 -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
On Wed, November 18, 2009 4:03 pm, prengel wrote:
Ich sichere derzeit bereits mit rsync. Ein Kunde möchte stündliche Sicherungen von 3 Verzeichnisssen die 40 GB enthalten. 40 GB mal 12 Stunden ist möglich aber Platzverschwendung. Es gibt einige Tools die mit z.B cp -al umkopieren. /z.B https://wiki.uugrn.org/Snapshots_per_rsync) aber die Frage ist ob es auch einfacher geht.
Deswegen sichert man ja auch auf ein anderes Medium und dann wird jede Sicherungs-Version untereinander gehardlinkt. Man sollte aber wissen, dass ein Nachteil bei Hardlinks ist, dass wenn Dir dieser eine Block flöten geht, jede Backup-Version betroffen ist. Was war jetzt noch mal Deine Frage? regards, Christian -- :wq -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Christian Brabandt schrieb:
Was war jetzt noch mal Deine Frage?
;-) Der genannte Link scheint mein Problem ausreichen zu lösen. Es geht offensichtlich nicht in Echtzeit durch Systemmechanismen aber das ist auch nicht nötig. Mit dem Script erzeuge ich alle 15 Minuten einen Abzug der Daten. Tests morgen werden zeigenob es wirklich die Lösung ist. Gruß Ralf Prengel Manager Customer Care Comline AG Hauert 8 D-44227 Dortmund/Germany Fon +49 231 97575 904 Fax +49 231 97575 257 Mobil +49 151 10831 157 EMail Ralf.Prengel@comline.de www.comline.de Vorstand Stephan Schilling, Erwin Leonhardi Aufsichtsrat Dr. Franz Schoser (Vorsitzender) HR Dortmund B 14570 USt.-ID-Nr. DE 124727422 -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Hallo, Am Mit, 18 Nov 2009, prengel schrieb:
Christian Brabandt schrieb: Der genannte Link scheint mein Problem ausreichen zu lösen. Es geht offensichtlich nicht in Echtzeit durch Systemmechanismen aber das ist auch nicht nötig.
ZFS kann AFAIK das, was du suchst: "Copy on Write". Du kannst Snapshots machen, die bis zu Änderungen am Original ("Write") aus dem im Snapshopt eine Kopie machen ("Copy"). Allerdings ist ZFS unter Linux wohl noch nicht stabil, auch/gerade via Fuse. HTH, -dnh -- "GNU is not Linux - Linux has a kernel that boots" - Chris Thompson -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Roman Fietze, Mittwoch 18 November 2009:
Du hast zwei Directoryeintrage
/dir1/file1 /dir2/file2
Die dieselbe Datei darstellen, also ein Hardlink.
...genauer: zwei Hardlinks. Der Name, der als erstes vergeben worden ist, unterscheidet sich nicht von dem, der als zweites vergeben worden ist. -- Andre Tann -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
prengel, Mittwoch 18 November 2009:
wenn eine Datei gelöscht wird auf die ein Hardlink zeigt so bleibt sie ja an der Position des Hardlinks bestehen.
...äh... so kann man das glaube ich nicht sagen. Löschen einer Datei heißt, den letzten Hardlink auf sie zu entfernen. Da auf eine Datei meist nur ein Link zeigt, also sozusagen der ursprüngliche Pfad/Name, unter dem sie angelegt wurde, heißt löschen eben meist, daß der letzte und einzige Link gelöscht wird. Gibt es mehrere Hardlinks, und Du löscht einen davon, dann kannst Du die Datei immer noch über die anderen Hardlinks anfassen. Die Links unterscheiden sich nicht voneinander.
Soweit so gut aber gibt es einen ähnlichen Mechanismus für veränderte Dateien?
-v bitte, Du kannst eine Datei jederzeit verändern, egal über welchen (Hard-)Link Du sie anfaßt. Oder wie meinst Du das? -- Andre Tann -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
participants (6)
-
Andre Tann
-
Christian Brabandt
-
David Haller
-
Martin Hofius
-
prengel
-
Roman Fietze