MacからTrueNasの共有ドライブにファイルをコピー/バックアップしようとすると、奇妙なタイムスタンプの問題が発生します。
私のドライブはTrueNASでホーム共有として定義され、Finderを介してMacOSにマウントされます。
macos > mount
//eric@truenas._smb._tcp.local/eric on /Volumes/eric (smbfs, nodev, nosuid, mounted by via)
ただし、rsyncを試してみると、インストールの作成日が間違っていました。
macos > ls -lt 20180210_120110_001.jpg
-rw-r--r-- 1 via staff 723237 7 Jun 2018 20180210_120110_001.jpg
macos > rsync -avztUN 20180210_120110_001.jpg /Volumes/eric/Pictures/Galaxy\ S21/2023-05-19/DCIM/Camera
sending incremental file list
20180210_120110_001.jpg
sent 663,066 bytes received 35 bytes 1,326,202.00 bytes/sec
total size is 723,237 speedup is 1.09
macos > ls -lt /Volumes/eric/Pictures/Galaxy\ S21/2023-05-19/DCIM/Camera
total 1326
-rwx------ 1 via staff 723237 23 May 2023 20180210_120110_001.jpg
rsyncを使ってわかるように、ボリュームマウント(TrueNASマウント)で作成されたタイムスタンプが正しくありません。
しかし、奇妙なことは、cp -Pで同じ操作を実行するとタイムスタンプが保存されることです。
macos >ls -lt 20180210_120110_002.jpg
-rw-r--r-- 1 via staff 687066 7 Jun 2018 20180210_120110_002.jpg
macos >cp -p 20180210_120110_002.jpg /Volumes/eric/Pictures/Galaxy\ S21/2023-05-19/DCIM/Camera
macos >ls -lt /Volumes/eric/Pictures/Galaxy\ S21/2023-05-19/DCIM/Camera
total 2583
-rwx------ 1 via staff 723237 23 May 09:17 20180210_120110_001.jpg
-rwx------ 1 via staff 687066 7 Jun 2018 20180210_120110_002.jpg
ご覧のとおり、2番目のファイル(_002.jpg)には正しいタイムスタンプがコピーされていますが、最初のファイルにはありません。
私はrsyncを使用するのが大好きですが、この問題の原因は何であり、どのようにデバッグするのかわかりません。
rsync 3.2.7の使用
macos > rsync -V
rsync version 3.2.7 protocol version 31
Copyright (C) 1996-2022 by Andrew Tridgell, Wayne Davison, and others.
Web site: https://rsync.samba.org/
答え1
これはサンバ問題である可能性が高いです。
rsync
Samba ターゲットで正しく機能するには、「unix 拡張」を使用できる必要があります。
rsync
ファイルを転送して(あなたの場合は-avオプションで十分です)、試してターゲットをchown()
指定しchmod()
てくださいtouch()
。これらのいずれかが失敗すると、ファイルの追加処理は停止します。
ローカルディレクトリにrsyncを試してください。正しく機能する場合は、正しいSamba設定を使用する方法を見つけるか、trueNASにrsyncサーバーをインストールすることをお勧めします。
答え2
TrueNASインストールでrsyncを使用したときに発生する問題と誤った生成タイムスタンプは、rsyncが同期中にファイルメタデータを処理する方法に関連している可能性があります。デフォルトでは、rsyncはタイムスタンプ、権限、所有権などのファイルメタデータを保存しようとします。ただし、場合によっては、デフォルトのファイルシステムの違いやファイルアクセス方法によって、rsyncはすべてのメタデータを完全に保存できないことがあります。あなたの場合、rsyncが生成タイムスタンプを正しく維持していないようです。これは、rsync が TrueNAS ファイルシステムまたはマウントに使用される SMB プロトコルと対話する方法によるものです。次のことをお勧めします。
- TrueNASでrsyncバージョンを確認する:TrueNASシステムにインストールされているrsyncバージョンが互換性があり最新であることを確認します。メタデータを保存するために必要な機能をサポートしていることを確認してください。
- ファイルシステムの互換性の確認:TrueNASシステムで使用されるファイルシステムが生成タイムスタンプの保存をサポートしていることを確認してください。一部のファイルシステム(特にネットワークにマウントされたファイルシステム)は、すべてのメタデータ保存を完全にサポートしているわけではありません。
- TrueNAS設定の確認:TrueNASシステムの構成設定、特にSMBファイル共有に関する設定を確認します。ファイルメタデータを保存できるように設定が構成されていることを確認してください。
- 他のオプションの試行:他のrsyncオプションを試して、メタデータの保存に影響を与えるかどうかを確認してください。たとえば、--aclsオプションを使用してアクセス制御リストを保持したり、--timesオプションを使用して変更時間のみを同期したりできます。