首先创建一个空目录 (注意:最好是用和被清空目录的所有者(用户)去创建这个空目录,使用的命令会将空目录的权限带过去)
mkdir /tmp/empty
# 清除目标目录的文件,不要忘记目录后面的`/` *************重要!!!!*********************
rsync --delete-before -av /tmp/empty/ /var/log/target/
选项说明
-
-delete-before 接收者在传输之前进行删除操作
-
-a 归档模式,表示以递归方式传输文件,并保持所有文件属性
-
-v 详细输出模式
rsync快的原因
-
rm删除内容时,将目录的每一个条目逐个删除(unlink),需要循环重复遍历很多次;
-
rsync删除内容时,建立好新的空目录,替换掉老目录,不需要进行大量的遍历操作。