PSFTP递归删除

时间:2013-03-26 17:48:00

标签: batch-file ftp sftp

我正在尝试设置从本地计算机到远程NAS的自动SFTP备份。

我有一个调用PSFTP的批处理脚本。我希望将本地目录镜像到远程目录。 PSFTP没有镜像命令,但它可以执行递归PUT。所以我想我会尝试删除SFTP服务器上的目录,然后执行递归PUT,这将完成同样的事情。但是,PSFTP不支持递归DEL,也不能在非空目录上执行RMDIR。

因此,在Windows批处理环境中,如何在上传之前删除远程目录?

4 个答案:

答案 0 :(得分:1)

如果您更喜欢使用脚本而不是GUI来进行自动备份,则可以使用WinSCP(它同时具有命令行脚本和GUI)。

WinSCP支持recursive uploadrecursive rm

另请参见一般guide for automating SFTP using WinSCP

(我是WinSCP的作者)

答案 1 :(得分:0)

如果真的好主意删除所有然后重新将它重新打开,我就不会感到害羞,在较大的目录上这将需要时间和力量。我也不知道psftp,但如果你能使用windows命令rmdir,你也可以使用xcopy吗?如果是这样的话,xxcopy可能是一个更好的解决方案,非常强大并且可供私人使用。

答案 2 :(得分:0)

我找到了一个免费的基于GUI的解决方案来做SFTP:

http://www.duplicati.com/

花了一点时间才开始,但为了让它做SFTP,你实际上需要告诉它SSH。此外,它似乎想要在远程服务器上创建一个文件夹。因此,让Duplicati创建文件夹而不是选择现有文件夹,它将接受该条目。我已将它设置为执行完整备份,只保留一个备份,从而完成我的目标。

答案 3 :(得分:0)

您可以使用plink在服务器上执行任何命令,包括rm -r