我正在尝试将文件从一台服务器同步到另一台服务器,但出现此错误
rsync:无法在“/dept/intranet/dept/atest/”上设置时间。:不允许操作(1)
有人可以帮助我为什么会这样吗?
我想这是一些权限问题。
这是我的命令:
RSYNC=/usr/bin/rsync
SSH=/usr/bin/ssh
REMOTE_HOST=test.desktop
${RSYNC} -crlt -e ${SSH} ${LOCAL_DIR} ${REMOTE_HOST}:${REMOTE_DIR}
LOCAL_DIR = workplace1/f1/
permissions drwxr-xr-x 11 root root 4096 Mar 19 2009 f1
REMOTE_DIR=/dept/intranet/dept/atest/f1/
permissions :drwxr-xr-x 14 dbld a1 4096 Mar 19 2009 f1
Run Code Online (Sandbox Code Playgroud)
小智 27
就这样我们在同一页面上:
-r recursive
-l preserve links
-c sync based on file checksum
-t preserve modification times
Run Code Online (Sandbox Code Playgroud)
然后两件事:
如果目标文件夹是 NFS 挂载,或者某些不能很好地处理修改时间的文件系统,那么它就会中断。
尝试将-O(for --omit-dir-times) 参数添加到您的命令中。
修改时间将被保留,但目录省略:
${RSYNC} -crlOt -e ${SSH} ${LOCAL_DIR} ${REMOTE_HOST}:${REMOTE_DIR}
Run Code Online (Sandbox Code Playgroud)
这是我最好的猜测,因为文件同步似乎有效,并且您的错误发生在 mod 时间同步上。无论如何,您真的需要保留修改时间吗?该-c选项基于校验和跳过文件(因此修改时间无关紧要)。
ssh -vv test.desktop "touch /dept/intranet/dept/atest/f1/test")ssh -vv thegooduser@test.desktop "touch /dept/intranet/dept/atest/f1/test")使用-v选项运行您的命令,以获取详细信息。
将-O ( --omit-dir-times ) 添加到您的命令行以避免它尝试在目录上设置修改时间。
另请阅读:https : //stackoverflow.com/questions/667992/rsync-error-failed-to-set-times-on-foo-txt-operation-not-permitted
| 归档时间: |
|
| 查看次数: |
56045 次 |
| 最近记录: |