用 rsync -a 就能同时保留权限和时间戳,这是最常用也最稳妥的做法;-a 归档模式等价于 -rlptgod,自动包含递归、符号链接、权限、时间戳、属主属组及设备文件保留,如 rsync -av /etc/nginx/ user@192.168.1.50:/backup/nginx/。

用 rsync -a 就能同时保留权限和时间戳,这是最常用也最稳妥的做法。
核心命令:-a 归档模式一步到位
-a(archive)选项是 rsync 的“全能开关”,它等价于 -rlptgoD,自动包含:
- -r:递归处理目录
- -l:保留符号链接
- -p:保留文件权限
- -t:保留修改时间(mtime)和访问时间(atime)
- -g 和 -o:保留属组和属主信息
- -D:保留设备文件和特殊文件
例如同步整个配置目录:
rsync -av /etc/nginx/ user@192.168.1.50:/backup/nginx/如果只要时间戳,不关心属主属组
可用 -rt 组合,更轻量:
- -r 处理子目录
- -t 显式保留时间戳(含 mtime 和 atime)
适合普通用户间传输,避免因目标系统 UID/GID 不一致导致属主变更失败。命令示例:
额外增强:加 --times 更明确
虽然 -a 已隐含 --times,但显式加上可提高可读性,尤其在脚本中便于维护:
rsync -av --times /src/ user@host:/dst/注意:--times 本身不包含权限或属主,必须搭配 -a 或手动加 -p、-o、-g 才完整。
验证是否生效
同步完成后,可在两端用以下命令对比:
- stat filename 查看详细时间戳和权限
- ls -l --time=atime 查看访问时间(需支持该选项)
- ls -la 快速比对权限、属主、修改时间
特别注意:远程同步依赖 SSH,目标端文件系统需支持对应元数据(如 ext4、xfs 没问题;某些网络存储或 FAT 挂载点可能无法保存 atime 或属主)。











