1

I'm trying to set up an automated SFTP backup from my local machine to a remote NAS.

I've got a batch script that calls PSFTP. I'm looking to mirror a local directory to a remote directory. PSFTP doesn't have a mirror command, but it can do a recursive PUT. So I thought I'd try to do delete the directory on the SFTP server and then do the recursive PUT, which would accomplish the same thing. PSFTP doesn't support a recursive DEL, though, nor can you do RMDIR on a non-empty directory.

So, in a Windows batch environment, how can I delete the remote directory before I upload it?

4

4 回答 4

1

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

WinSCP 支持递归上传递归 rm

另请参阅使用 WinSCP 自动化 SFTP 的一般指南

(我是WinSCP的作者)

于 2013-03-27T21:19:56.713 回答
0

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

于 2013-03-27T21:34:56.207 回答
0

我不确定删除所有内容然后重新打开是否真的是个好主意,在较大的目录上这将需要时间和精力。我也不知道psftp,但是如果你能使用windows命令rmdir,你也可以使用xcopy吗?如果是这样,也许 xxcopy 可能是一个更好的解决方案,非常强大且免费供私人使用。

于 2013-03-26T18:10:01.263 回答
0

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

http://www.duplicati.com/

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

于 2013-03-26T19:19:26.407 回答