毎日のバックアップディレクトリ(rsyncで作成)を同じパーティション内の別のディレクトリに移動する

毎日のバックアップディレクトリ(rsyncで作成)を同じパーティション内の別のディレクトリに移動する

毎日 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

関連情報