当我试图从Mac复制/备份文件到TrueNas上的共享驱动器时,我遇到了一个带有时间戳的奇怪问题。
我的驱动器在TrueNAS中定义为家庭共享,并通过查找器在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如您所见,第二个文件(_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/发布于 2023-05-27 06:44:50
rsync所遇到的问题以及TrueNAS挂载上不正确的创建时间戳可能与rsync在同步过程中处理文件元数据的方式有关。默认情况下,rsync尝试保留文件元数据,如时间戳、权限和所有权。但是,在某些情况下,由于底层文件系统或文件访问方式的不同,rsync可能无法完全保存所有元数据。在您的示例中,rsync似乎无法正确保留创建时间戳。这可能是由于rsync与用于挂载的TrueNAS文件系统或SMB协议交互的方式。我要再次赞扬你做以下事情-
https://unix.stackexchange.com/questions/747226
复制相似问题