小编vir*_*arc的帖子

rsync 不删除目标中的文件夹

我知道这里有一些相同主题的问题,但没有答案对我有帮助。

首先,这是我的脚本。它应该将所有文件从源复制到目标(保留所有权限等)。如果文件或目录在源中被删除,它也应该在目标中被删除。哪个工作不正常。

#!/bin/bash
## Basic RSync Command
RCMD="rsync -rulpEXogtzh --stats --delete --force"
DDIR="/tank/bak/s1/archive/"
SDIR="/tank/bak/s1/backup/"
CDAY=`date '+%u'`

echo "Archive Number: ${CDAY}"
echo "Archiving current backup"
$RCMD $SDIR $DDIR/$CDAY
Run Code Online (Sandbox Code Playgroud)

如果我在源中有以下目录:

/etc
/home
/root
/usr
Run Code Online (Sandbox Code Playgroud)

并同步它们我在目标中有以下目录:

/etc
/home
/root
/usr
Run Code Online (Sandbox Code Playgroud)

所以这很好用。现在,当我从源中删除 /usr 时,我的源如下所示:

/etc
/home
/root
Run Code Online (Sandbox Code Playgroud)

但是当我再次运行脚本时,我的目标仍然是这样的:

/etc
/home
/root
/usr
Run Code Online (Sandbox Code Playgroud)

所以不知何故 rsync 忽略了 --delete

rsync 输出:

Number of files: 1983645
Number of files transferred: 0
Total file size: 17.69G bytes
Total transferred file size: 0 bytes
Literal data: 0 bytes
Matched data: …
Run Code Online (Sandbox Code Playgroud)

bash rsync

5
推荐指数
1
解决办法
7313
查看次数

标签 统计

bash ×1

rsync ×1