/mnt/X
私のデータを外部ハードドライブ(ハードドライブのルート)にバックアップする毎日のrsyncスクリプトがあります。私は--link-dest
ハードリンクを使用し、冗長データを避けるのに慣れています。ハードリンクを失うことなく、/mnt/X
毎日のバックアップをに移動する必要があります。後で新しいターゲットディレクトリでバックアップを実行し、同じディレクトリで前日のバックアップを見つけるように/mnt/X/backups
スクリプトを変更する必要があります。/mnt/X/backups
引っ越しを続けるようにどのように提案しますか?
答え1
特別なことをする必要はありません。単に、
mv /mnt/X/* to /mnt/X/backups/
backups
(それ自体に移動できないというエラーが発生します。)
ハードリンクはデフォルトで inode 番号です。ハードリンクされたファイルは同じinode番号を持ちます。同じファイルシステム内を移動しても、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