
TL:DR: 膨大なソース ファイル セットを含む Synology NAS と、これらのファイルの複製 (および数日間の作業) を含む 2 つ目の (ターゲット) NAS があります。ソース ファイルからターゲット ファイルに作成タイムスタンプをコピーしたいと思います。
長い話:
最近、職場の Synology NAS の 1 つでハード ドライブが故障しました。バックアップを元にして、新しい NAS と新しいドライブを含むバックアップ戦略を更新することにしました。バックアップ NAS を設定して、Synology のフォルダー同期機能を使用して、新しい NAS に複製ファイルを作成しました。1 つの問題を除いて、問題なく動作しました。
新しい NAS 上のファイルは、ソース ファイルから変更タイムスタンプを正常に取得しましたが、作成タイムスタンプは、各ファイルのバックアップを作成した日に設定されていました。同僚の中には、ファイル作成タイムスタンプを仕事に使用している人もいるので、正しいタイムスタンプを取り戻そうとしています。
以前、両方のファイル ツリーで一致するファイル名を検索し、変更タイムスタンプを上書きするだけの PHP ページを作成して変更タイムスタンプを更新しましたが、作成タイムスタンプでこれを行う方法がわかりません。また、それが可能かどうかもわかりません。また、対象ファイルの変更タイムスタンプはすべて正しいです。ドライブには何万ものファイルがあるため、1 つずつ更新することはできません。どのようなオプションがありますか? 可能ですか?
編集: 皆さんから質問があったので、私の NAS はファイルシステムが「Btrfs」であると報告しています。そこには RAID 10 でセットアップされた 4 つのドライブがあります。
答え1
使用しているオペレーティング システムまたはファイル システムが指定されていません。ここに役立つ情報があります:https://apple.stackexchange.com/questions/199536/how-to-keep-original-date-created-when-copying-via-terminal
これは Apple 固有の質問ですが、回答とコメントには役に立つ一般的な情報が記載されています。特に、「ファイルを別のファイル システムにコピーする場合は、パッチ fileflags、crtimes などを使用して rsync をコンパイルする必要があります...」
したがって、rsync をサポートするシステム (Linux など) で作業していると仮定すると、それが答えになるかもしれません。
幸運を。
ダンカン