来自需要私钥/公钥认证的远程服务器的 robocopy

来自需要私钥/公钥认证的远程服务器的 robocopy

我知道 robocopy 命令只适用于现有驱动器,而不适用于远程服务器,所以如果我想使用 robocopy 命令从远程服务器运行定期文件备份,我必须将其映射到网络驱动器。

到目前为止我的脚本是这样的:

rem # Map the drive
net use R: \\server\path-to-file /USER:username
rem # Now use robocopy
robocopy.exe R:\ C:\local\backup\destination
rem # Disconnect the mapped drive
net use R: /delete

在我将远程服务器映射到本地网络驱动器的第一行中,有没有办法让我使用私钥位置而不是密码来指定登录名?这是我连接到远程服务器的唯一方法。

任何想法都将不胜感激!:-)

答案1

您提到您通过 WinSCP 使用 SFTP 连接到服务器,但不幸的是 Windows 本身不支持该功能(您只能使用 SMB 或 WebDAV\\servernet use)。

这也意味着你也无法使用robocopy它。(除非你安装类似Dokan SSHFS,但我担心该项目有点过时了。)

但是,如果你需要做的只是下载一个完整的目录,WinSCP 的自动化(脚本)可以轻松做到这一点,使用synchronize函数。编写类似如下的脚本:

option batch abort
option confirm off
open mysession
synchronize local -mirror -delete C:\local\backup\destination /path/to/source
exit

相关内容