今天在同步數據的時候提示rsync: failed to set times on “xxxx”: Operation not permitted,一般來說要不是服務器時間不對或者權限沒有設置好,下面腳本之家小編就為大家整理了一些資料
第一種方法:
出現rsync: failed to set times on “xxxx”: Operation not permitted的原因大致是對文件夾(或文件)xxxx沒有操作權限。如果執行同步的用戶是root,是不會有這樣的問題,但是rsync也可以不使用root用戶來進行同步,不使用root用戶的情況下,即使使用了-o,-g,同步到目的文件夾的文件用戶和組都變成了同步使用的用戶,但是用-p后文件權限可以保留。當目的文件夾(或文件)xxxx事后做過修改使owner不是rsync使用的用戶,即使xxxx的權限是777,也會出現上述錯誤。
第二種方法:
當我使用rsync同步的時候,從我本地的機器到遠程服務器的機器上,同步出現錯誤,提示
rsync: failed to set times on “directory” Operation not permitted (1)
其中directory是遠程目標服務器上的一個目錄。
這個問題就是,因為 /etc/rsync.conf 文件內,你指定的uid 、 gid 的問題, 這樣,你同步文件要寫的目錄 ,他的屬主和屬組 都要是/etc/rsync.conf 文件內指定的uid 、 gid ,
這樣就不會 rsync: failed to set times on 之類的錯誤了 !
這里我的源站的所有備份文件的權限是ftpuser.ftpuser
但是我的備份端的/etc/rsyncd.conf里面配置的uid,gid都是wwwad用戶
所以這里我出現了上面的錯誤,所以這里我們/etc/rsyncd.conf里面的uid,gid都改成ftpuser之后,我再重啟sersync就不會報上面的錯誤了
(1)修改前,rsync 推送文件到目標服務器出錯 :
(2)去目標服務器查看 /etc/rsync.conf 文件,看uid和gid分別是什么 :

(3)然后根據配置文件,把目標服務器的目標目錄,chown 目錄的屬主和屬組

以上設置后,就OK 了 ,同步正常 :

方法三
rsync: failed to set times on "/." (in module): Operation not permitted (1)
這個是rsyncd.conf 里面 read only = no 注銷也不行,因為默認值是yes
方法四: windows下面一般都是因為服務器端目錄權限設置不正確引起的。一般情況下SvcCWRSYNC用戶需要加入同步目錄中並給所有權限或者直接將SvcCWRSYNC設為管理員權限也行(最好禁止SvcCWRSYNC這個用戶遠程登錄)

