Rsync 命令移动目录并覆盖现有目录

Rsync 命令移动目录并覆盖现有目录

我需要一个 rsync 命令,将目录从源文件夹移动到远程文件夹并覆盖远程端的现有目录。

  • 我不想写入远程端的现有目录。因此,如果源和远程上都存在某个目录,则应在远程端将其删除,并创建一个新目录来替换它。
  • 如果源端不存在目录,则不应删除远程目录(所以不--delete
  • 如果远程端不存在目录,则应将其移动。

编辑:这是操作开始之前的示例文件列表:

.
├── remote
│   ├── a
│   │   ├── test1_old.txt
│   │   └── test2_old.txt
│   ├── b
│   │   ├── test1.txt
│   │   └── test2.txt
│   └── d
│       ├── test1.txt
│       └── test2.txt
└── source
    ├── a
    │   ├── test1.txt
    │   ├── test2.txt
    │   └── test3.txt
    ├── b
    │   ├── test1.txt
    │   └── test2.txt
    └── c
        ├── test1.txt
        └── test2.txt

操作后应该是这样的:

.
├── remote
│   ├── a
│   │   ├── test1.txt
│   │   ├── test2.txt
│   │   └── test3.txt
│   ├── b
│   │   ├── test1.txt
│   │   └── test2.txt
│   ├── c
│   │   ├── test1.txt
│   │   └── test2.txt
│   └── d
│       ├── test1.txt
│       └── test2.txt
└── source
    ├── a
    │   ├── test1.txt
    │   ├── test2.txt
    │   └── test3.txt
    ├── b
    │   ├── test1.txt
    │   └── test2.txt
    └── c
        ├── test1.txt
        └── test2.txt

相关内容