首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法使用rsync维护createTime (但cp -p工作)

无法使用rsync维护createTime (但cp -p工作)
EN

Unix & Linux用户
提问于 2023-05-27 02:23:56
回答 1查看 12关注 0票数 0

当我试图从Mac复制/备份文件到TrueNas上的共享驱动器时,我遇到了一个带有时间戳的奇怪问题。

我的驱动器在TrueNAS中定义为家庭共享,并通过查找器在MacOS中挂载:

代码语言:javascript
复制
macos > mount
//eric@truenas._smb._tcp.local/eric on /Volumes/eric (smbfs, nodev, nosuid, mounted by via)

但是,当我尝试rsync时,我的挂载中的创建日期是错误的:

代码语言:javascript
复制
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做同样的事情,则会维护时间戳:

代码语言:javascript
复制
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

代码语言:javascript
复制
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/
EN

回答 1

Unix & Linux用户

发布于 2023-05-27 06:44:50

rsync所遇到的问题以及TrueNAS挂载上不正确的创建时间戳可能与rsync在同步过程中处理文件元数据的方式有关。默认情况下,rsync尝试保留文件元数据,如时间戳、权限和所有权。但是,在某些情况下,由于底层文件系统或文件访问方式的不同,rsync可能无法完全保存所有元数据。在您的示例中,rsync似乎无法正确保留创建时间戳。这可能是由于rsync与用于挂载的TrueNAS文件系统或SMB协议交互的方式。我要再次赞扬你做以下事情-

  • 检查TrueNAS上的rsync版本:验证TrueNAS系统上安装的rsync版本是否兼容和最新。确保它支持保存元数据所需的特性。
  • 检查文件系统兼容性:确保TrueNAS系统上使用的文件系统支持保存创建时间戳。有些文件系统,特别是网络挂载的文件系统,可能不完全支持保存所有元数据.
  • 验证TrueNAS设置:检查TrueNAS系统的配置设置,特别是与SMB文件共享相关的配置设置。确保设置配置为允许保存文件元数据。
  • 尝试不同的选项:尝试不同的rsync选项,看看它们是否会影响元数据的保存。例如,您可以尝试使用--acls选项来保留访问控制列表,或者使用- times选项来只同步修改时间。
票数 0
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/747226

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档