Unser Systemadministrator hat ein Backup-System erstellt, das Snapshots der Festplatte erstellt.
Wenn ich versuche, eine ältere Version aus dem Snapshot wiederherzustellen:
cp /path/to/snapshots/foo.bar /path/to/folder/foo.bar
Ich erhalte eine Fehlermeldung:
cp: `/path/to/snapshots/foo.bar' and `/path/to/folder/foo.bar' are the same file.
Ich kann die Datei löschen und kopieren, wollte aber wissen, ob es eine Möglichkeit gibt, dies mit cp zu tun.
Ich weiß, dass die Dateien nicht verknüpft sind, weil:
- Ich kann den Inhalt der Quelle ändern und die Schnappschüsse bleiben unverändert (getestet)
- Ich kann die Quelle löschen und die Schnappschüsse sind zum Wiederherstellen da (getestet)
- Die Dateien werden im Rechencluster der Universität gespeichert. Wenn so etwas wahr wäre, wäre schon jemand gefeuert worden (oder zumindest angeschrien).
Trotzdem ist die inode
Anzahl der Dateien gleich
Der Cluster wird über Red Hat Linux implementiert und ich weiß nicht, was das Dateisystem ist
df Ergebnis:
Filesystem 1K-blocks Used Available Use% Mounted on
<ipadress>:/vol/hpc/storage
67633152 67633152 0 100% /storage
<ipadress>:/vol/hpc/storage
2186805248 982498048 1204307200 45% /storage
stat Ergebnis:
File: `/path/to/snapshots/foo.bar'
Size: 404 Blocks: 8 IO Block: 4096 regular file
Device: 17h/23d Inode: 19750461 Links: 1
Access: (0644/-rw-r--r--) Uid: (<num1>/ yotama9) Gid: ( <num2>/ <groupname>)
Access: 2012-01-22 00:03:27.246852000 +0200
Modify: 2012-01-19 23:10:32.746397000 +0200
Change: 2012-01-19 23:10:32.746397000 +0200
File: `/path/to/folder/foo.bar'
Size: 404 Blocks: 8 IO Block: 4096 regular file
Device: 17h/23d Inode: 26335134 Links: 1
Access: (0644/-rw-r--r--) Uid: (<num1>/ yotama9) Gid: ( <num2>/ <groupname>)
Access: 2012-01-24 16:03:48.732453000 +0200
Modify: 2012-01-24 16:03:30.728900000 +0200
Change: 2012-01-24 16:03:30.728900000 +0200
run ls -l -i
auf beiden Dateien, um zu sehen, ob die inode
Nummer gleich ist. Wenn die Inode- Nummer identisch ist, haben Sie keine Sicherung. es bedeutet, dass es nur 1 echte Datei und 1 Hardlink zu dieser Datei gibt,
echo x >> foo.bar
. Oder testen Sie, ob der Inode immer noch derselbe ist, nachdem Sie ihn auf Ihre Weise geändert haben. 2. Das ist die Idee. Sie löschen einen Link, der andere bleibt.
df /path/to/snapshot /path/to/source; ls -l /path/to/snapshot /path/to/source; stat /path/to/snapshot /path/to/source
zeigt?