rsync使用-a选项写入CIFS挂载时无法保留文件时间戳的问题求助
rsync使用-a选项写入CIFS挂载时无法保留文件时间戳的问题求助
大家好,最近碰到个头疼的问题想请教各位:
我的Ubuntu 22.04虚拟机(部署在群晖NAS上),往本地文件系统写文件时能正常保留文件时间戳,但写到NAS上的CIFS挂载点时就不行了。这直接导致我用rsync同步文件时,每次都会重新拉取那些已经同步过的文件,因为时间戳不匹配。
但奇怪的是,我的Pop!_OS 22.04笔记本连接同一个CIFS挂载点时,用rsync就能正常保留文件时间戳,不会重复同步。
两台机器上的rsync和cifs-tools版本完全一致,下面是具体的挂载信息和命令:
挂载参数对比
- VM的挂载信息:
//192.168.86.37/files on /home/rob/synner type cifs (rw,relatime,vers=3.1.1,cache=strict,username=rob,uid=1000,noforceuid,gid=0,noforcegid,addr=192.168.86.37,file_mode=0755,dir_mode=0755,soft,nounix,mapposix,rsize=4194304,wsize=4194304,bsize=1048576,echo_interval=60,actimeo=1)
- 笔记本的挂载信息:
//192.168.86.37/files on /home/rob/synner type cifs (rw,relatime,vers=3.1.1,cache=strict,username=rob,uid=1000,noforceuid,gid=0,noforcegid,addr=192.168.86.37,file_mode=0755,dir_mode=0755,soft,nounix,mapposix,rsize=4194304,wsize=4194304,bsize=1048576,echo_interval=60,actimeo=1,closetimeo=5)
使用的命令
- 两台机器用的挂载命令完全相同:
mount -t cifs -o username=rob,password=<redacted>,uid=1000 //192.168.86.37/files /home/rob/synner
- 同步用的rsync命令:
/usr/bin/rsync -avz --progress root@kp3:/home/backup/ /home/rob/synner/hosting_backups/kp3/
补充细节
在VM上运行rsync时,不仅会同步新文件,还会重新下载所有已经同步过的文件,而且所有文件的时间戳都会被改成同步操作执行时的当前时间——这就导致第二天运行rsync时,又会重复同样的过程,完全没法增量同步。
我试过在VM的挂载命令里添加noserverino参数,去掉了挂载信息里的serverino项,但问题依然没有解决。
有没有朋友遇到过类似的问题?或者能给我一些排查方向?
备注:内容来源于stack exchange,提问作者Rob
相关产品推荐
相关产品推荐

