毎日 rsync スクリプトを実行して、外付けハード ドライブ/mnt/X
(ハード ドライブのルート) にデータをバックアップしています。--link-dest
ハード リンクを使用してデータの重複を回避しています。ハード リンクを失うことなく、毎日のバックアップをすべて から に移動する必要があります/mnt/X
。/mnt/X/backups
後で、スクリプトを変更して、新しい dest ディレクトリ ( ) にバックアップし、/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