我正在寻找一种方法将我的文件从 Web 服务器 (Ubuntu 14) 同步到本地服务器 (Windows Server)。 Web 服务器创建本地服务器需要的小文件。 Web 服务器位于 DMZ 中,可通过 SSH 访问。只有本地服务器才能访问 Web 服务器上的文件夹。它尝试使用 WinSCP 等程序,但我无法设置“获取”作业。
有没有办法在 Windows 服务器上使用 SSH 执行此操作,而无需每隔几秒登录一次?或者有更好的解决方案吗?未来网络服务是可能的,但目前我需要一个快速的解决方案。
您需要安排一项定期频繁的工作来连接和下载更改。
或者您需要有一个持续运行的进程,以保持连接打开并定期监视更改。
几乎没有更好的解决方案(仍然快速且易于实施)。
使用实施连续过程的示例WinSCP .NET 程序集 https://winscp.net/eng/docs/library:
// Setup session options
SessionOptions sessionOptions = new SessionOptions {
Protocol = Protocol.Sftp,
HostName = "example.com",
UserName = "user",
Password = "mypassword",
SshHostKeyFingerprint = "ssh-rsa 2048 xxxxxxxxxxx...="
};
using (Session session = new Session())
{
// Connect
session.Open(sessionOptions);
while (true)
{
// Download changes
session.SynchronizeDirectories(
SynchronizationMode.Local, localPath, remotePath, false).Check();
// Wait 10 seconds
Thread.Sleep(10000);
}
}
如果连接中断,您将需要添加更好的错误处理并重新连接。
如果您不想将其实现为 (C#) 应用程序,则可以使用 PowerShell 脚本。完整的解决方案请参见保持本地目录最新(从远程SFTP/FTP服务器下载更改的文件) https://winscp.net/eng/docs/library_example_keep_local_directory_up_to_date.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)