rsync命令删除远程系统上的目录

rsync command to delete a directory on a remote system

有一个远程系统,我只在一个目录中拥有 read/write 权限。我用它来存储夜间构建的结果。

为了上传特定日期的结果,我使用以下命令在远程目录上执行 rsync<date_dir>

rsync -zavR <date_dir> <server_name>:/path/of/the/directory/where/i/have/permission/

现在,有时我需要删除目的地的 <date_dir> 目录。为此,我尝试了以下命令:

rsync -avh <date_dir> <server_name>:/path/of/the/directory/where/i/have/permission/ --delete

此命令会删除目标 <date_dir> 的内容,但不会删除目录 <date_dir> 本身。

我也尝试在 rsync 命令中给出 --force-delete,但它在我的系统上给出了以下错误:

rsync: --force-delete: unknown option

使用 rsync.

删除远程服务器上的 <date_dir> 目录的命令是什么

PS:我尝试使用 SSH 设置无密码身份验证,但我没有这样做的权限。

因为这是您要复制的目录,rsync 不会删除它。 --delete表示删除发送方不存在的目录或文件。显然,date_dir 存在于您的本地计算机上(否则 rsync 会抱怨复制了一个不存在的目录)。如果你想保留你的本地目录并且只删除删除副本,rsync 不是正确的工具,但你可以使用 rsh ..... rm -r 删除远程端的目录。

解决方案:

在给定的上下文中,以下命令对我有用:

rsh <server_name> "rm -rf /path/of/the/directory/where/i/have/permission/<date_dir>"