rsync在cifs smb共享文件夹卡死问题解决

缘起

近期把树莓派的日常备份,统一到了一个smb局域网共享上,之前使用的备份工具是rsync,相同的参数下出现同步过程中卡死问题,因此在此记录下。

过程

使用如下命令同步树莓派的家目录进行备份,中途必现卡死,其中/xxx是远程挂载的smb共享。

rsync --progress  -aAXvimh  ~ /xxx/

其中试了很多次,始终会出现卡死问题,而之前备份的目标是用的rsync主机,是没有问题的,错误如下:

rsync: get_xattr_names: llistxattr(""/home/pi//h"",1024) failed: No data available (61)
rsync: chgrp "/home/pi/c.c" failed: Operation not permitted (1)

分析前后的区别,也只有smb挂载的差异,看起来是权限或者属性操作的异常。

经过不断的分析,最后确认是X参数的问题,导致文件attr相关操作异常导致卡死。

而原有的非root操作,也会导致写临时文件异常出现卡死。

因此解决后的命令行如下,试了很多次都不会再卡死了。

sudo rsync --progress  -aAvimh  ~ /xxx/

总结

总结来看,smb总归是当初微软研发的共享协议,而在linux系统下,一些属性、权限问题,在rsync这种全属性备份工具上存在一些问题,使用nfs之类的协议可能会好点。

参考文档

https://askubuntu.com/questions/1066751/strange-rsync-behaviour-i-dont-understand-throught-smb-cifs

https://www.truenas.com/community/threads/rsync-mkstemp-failed-operation-not-permitted.43269/


发表评论

必填

选填

选填

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。