Sysadmin của chúng tôi đã tạo ra một hệ thống sao lưu tạo ảnh chụp nhanh của ổ cứng.
Khi tôi cố gắng khôi phục phiên bản cũ hơn từ ảnh chụp nhanh:
cp /path/to/snapshots/foo.bar /path/to/folder/foo.bar
Tôi gặp lỗi:
cp: `/path/to/snapshots/foo.bar' and `/path/to/folder/foo.bar' are the same file.
Tôi có thể xóa tập tin và sao chép nó nhưng tôi muốn biết liệu có cách nào để làm điều này với cp không.
Tôi biết rằng các tập tin không được liên kết bởi vì:
- Tôi có thể thay đổi nội dung của nguồn và ảnh chụp nhanh được giữ nguyên (đã kiểm tra)
- Tôi có thể xóa nguồn và ảnh chụp nhanh ở đó để khôi phục (đã kiểm tra)
- Các tập tin được lưu trữ trên cụm tính toán đại học. Nếu điều đó là đúng, ai đó sẽ bị sa thải (hoặc ít nhất là hét vào).
Tuy nhiên, inode
số lượng các tập tin là như nhau
Cụm được triển khai trên linux mũ đỏ và tôi không biết hệ thống tệp là gì
kết quả df:
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
kết quả thống kê:
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
trên cả hai tập tin để xem nếu inode
số lượng là như nhau. Nếu số inode giống nhau, thì bạn không có bản sao lưu; điều đó có nghĩa là chỉ có 1 tệp thực và 1 liên kết cứng đến tệp đó,
echo x >> foo.bar
. Hoặc kiểm tra xem inode có còn như cũ không sau khi bạn thay đổi theo cách của mình. 2. Đó là ý tưởng. Bạn xóa một liên kết, liên kết còn lại.
df /path/to/snapshot /path/to/source; ls -l /path/to/snapshot /path/to/source; stat /path/to/snapshot /path/to/source
thể hiện điều gì?