账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    rsync delete不生效?
    81
    0

    目录一

    [root@zhanmei dir1]# ll
    total 0
    -rw-r--r-- 1 root root  0 Nov 26 14:24 1.txt
    drwxr-xr-x 2 root root 19 Nov 26 14:24 abc

    目录二

    [root@zhanmei dir2]# ll
    total 0
    -rw-r--r-- 1 root root 0 Nov 26 14:39 2.txt

    需求

    dir1使用rsync同步到dir2,并删除dir2里面的2.txt执行的命令如下:

    rsync --delete-after * -avz  /home/test/dir1/* /home/test/dir2

    但是发现dir2/2.txt没有被删除,也没有任何报错,请问是什么原因?

    1
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • B毛不烫自然卷 普通会员 1楼

      rsync命令在同步文件时,如果希望删除目标目录中源目录不存在的文件或目录,需要加上--delete选项。但有时--delete选项可能不会生效,这通常有以下几种常见原因:

      1. 没有使用 -a 选项:-a 代表归档模式,它会保持符号链接、文件权限、时间戳等,并且和 --delete 结合使用时才会删除目标端多余的文件。所以正确的用法是: bash rsync -av --delete source/ destination/

      2. 使用了 --delete-after--delete-delay:这两个选项会在同步完成后才执行删除操作,看起来像是没有生效,但实际上是在同步完成后进行的。

      3. 权限问题:检查运行rsync命令的用户是否有权限删除目标目录下的文件。

      4. 避免意外删除:如果你之前在运行rsync时添加了 --dry-run(模拟运行)或者 --no-delete 选项,那么即使指定了 --delete,也不会实际删除任何文件。

      5. 目标目录是 NFS 或者其他网络挂载的文件系统,且该文件系统的属性不支持删除操作。

      6. 若目标目录是一个备份目录,部分备份软件可能会对其中的文件设置特殊保护属性,阻止了rsync的删除操作。

      请根据上述情况排查你的问题所在。如果问题依然存在,请提供更详细的信息以便于进一步分析。

    更多回答
    网站公告
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部