/mnt/X
我有一個每日 rsync 腳本,將我的資料備份到外部硬碟(硬碟的根目錄)上。我習慣--link-dest
使用硬連結並避免重複數據。我需要在不丟失硬連結的情況下/mnt/X
將所有日常備份移至 。/mnt/X/backups
稍後我需要更改腳本以在新的目標目錄中進行備份,/mnt/X/backups
並在同一目錄中找到前一天的備份。
您建議我如何進行搬家?
答案1
你不必做任何特別的事情。簡單地,
mv /mnt/X/* to /mnt/X/backups/
(您將收到有關無法移動backups
到自身的錯誤)。
硬連結基本上是一個索引節點號。硬連結的檔案具有相同的索引節點號。無論您在同一檔案系統中移動它們,inode 號碼都不會改變。因此不需要採取特殊措施。
首先使用一些簡單的文件親自嘗試/tmp
:
/tmp $ mkdir aa
/tmp $ touch aa/f
/tmp $ ln aa/f aa/g
/tmp $ mkdir aa/new
/tmp $ mv aa/* aa/new
mv: cannot move 'aa/new' to a subdirectory of itself, 'aa/new/new'
/tmp $ ls -il aa/new/
13185910 -rw-r--r-- 2 0 Apr 11 13:32 f
13185910 -rw-r--r-- 2 0 Apr 11 13:32 g