ファイルへのハードリンクを保持するディレクトリツリーを再帰的にコピーしようとしています。gnu cpを使用すると、これは-lフラグで機能します。その後、cpはディレクトリ構造を再作成しますが、各ファイルの内容をコピーする必要はありません。
これはバックアップの準備段階です。最初に以前のバックアップの安価な(ハードリンクされた)コピーを作成し、次にこのコピーでソースディレクトリをrsyncします。おおよそ:
cp -r -l yesterdays_backup todays_backup
rsync -a source_dir todays_backup
残念ながら、OSXのcpは-lフラグをサポートしていません。私の知る限り、cpioは再帰的なコピーをサポートしていません。もう1つの方法はpaxですが、これによりディレクトリ構造全体がコピーされます。
pax -rw backups/yesterdays_backup backups/todays_backup
変換:
yesterdays_backup
|
\source_dir (...)
に:
todays_backup
|
\backups
\yesterdays_backup
\source_dir(...)
これを行うには簡単で明白な方法があるはずですが、私は現在困惑しています... cpioとpaxの代替手段はありますか?gnu cpをインストールする必要がないようにしたいと思います。
Timemachineは知っていますが、暗号化されたディレクトリを適切に増分バックアップすることはできません。