作为技术支持工程师,针对通过rsync的--times选项保持文件时间同步的需求,以下是我常用的解决方案:
-
基本命令结构
rsync --times -r [其他可选参数] 源路径 目标路径
--times
:确保同步后目标文件的修改时间(mtime)与源文件一致。-r
:递归同步目录(若同步单个文件可省略)。
-
完整示例(本地同步)
rsync --times -rvh /source/dir/ user@remote:/dest/dir/
-v
:输出详细信息,-h
:人类可读格式,适用于调试。
-
结合归档模式(推荐)
rsync -a --times /source/file user@remote:/dest/file
-a
:归档模式(含递归、保留权限等),叠加--times
更明确时间同步逻辑。
-
验证同步结果
stat 源文件 && stat 目标文件 # 检查mtime是否一致
注意事项
- 若目标文件已存在且内容未变,仅更新时间为源文件时间。
- 需确保用户对目标路径有写权限及时间戳修改权限。
- 网络同步时,时区差异可能导致时间显示不一致,但实际mtime值保持同步。