我正在尝试设置从本地计算机到远程NAS的自动SFTP备份。
我有一个调用PSFTP的批处理脚本。我希望将本地目录镜像到远程目录。 PSFTP没有镜像命令,但它可以执行递归PUT。所以我想我会尝试删除SFTP服务器上的目录,然后执行递归PUT,这将完成同样的事情。但是,PSFTP不支持递归DEL,也不能在非空目录上执行RMDIR。
因此,在Windows批处理环境中,如何在上传之前删除远程目录?
答案 0 :(得分:1)
如果您更喜欢使用脚本而不是GUI来进行自动备份,则可以使用WinSCP(它同时具有命令行脚本和GUI)。
WinSCP支持recursive upload和recursive rm。
另请参见一般guide for automating SFTP using WinSCP。
(我是WinSCP的作者)
答案 1 :(得分:0)
如果真的好主意删除所有然后重新将它重新打开,我就不会感到害羞,在较大的目录上这将需要时间和力量。我也不知道psftp,但如果你能使用windows命令rmdir,你也可以使用xcopy吗?如果是这样的话,xxcopy可能是一个更好的解决方案,非常强大并且可供私人使用。
答案 2 :(得分:0)
我找到了一个免费的基于GUI的解决方案来做SFTP:
花了一点时间才开始,但为了让它做SFTP,你实际上需要告诉它SSH。此外,它似乎想要在远程服务器上创建一个文件夹。因此,让Duplicati创建文件夹而不是选择现有文件夹,它将接受该条目。我已将它设置为执行完整备份,只保留一个备份,从而完成我的目标。
答案 3 :(得分:0)
您可以使用plink在服务器上执行任何命令,包括rm -r