我需要监视远程服务器上的文件夹,并将使用SFTP添加的新文件复制到Windows上的本地文件夹。是否有SFTP客户端可以配置和计划监控远程文件夹并自动复制文件?或者我是否必须编写一个Windows服务来使用某些第三方SFTP库来完成此操作?SFTP:监视远程文件夹并复制在Windows上使用SFTP添加的新文件
谢谢。
我需要监视远程服务器上的文件夹,并将使用SFTP添加的新文件复制到Windows上的本地文件夹。是否有SFTP客户端可以配置和计划监控远程文件夹并自动复制文件?或者我是否必须编写一个Windows服务来使用某些第三方SFTP库来完成此操作?SFTP:监视远程文件夹并复制在Windows上使用SFTP添加的新文件
谢谢。
这些文件可以从或SFTP服务器有两种方式
创建一个自定义的.NET服务来监视SFTP服务器上的文件夹,然后使用第三方SFTP客户端库复制的文件被复制。以下是一些可用的库。
a。 b CodePlex上的开源库SSH.Net
b。用于.Net的Rebex SFTP
c。终极SSH专家套件.Net
安装第三方SFTP客户端能够监视文件夹和调度任务。以下是一些似乎具有这些功能的客户端工具
a。 CrushFTP
b。 JaSFtp
做到这一点最简单的方法是编写亲语法连接到SFTP服务器,并确定新的文件是否都存在服务器上的客户端程序。程序如何确定是否存在新文件可以通过使用文件名和可选的远程文件的时间戳来完成。
她的一个明显的困难是,您不想从正在写入服务器机器上的磁盘的服务器上下载文件。 (一个大文件可能会出现此问题&您最终可能会下载导致数据损坏的不完整文件)。避免这种情况的一种方法是在一天中的特定时间运行SFTP客户端,在该时间您确定服务器上的远程目录上没有新文件正在写入。
要创建自运行客户端,您可以使用.NET Framework创建一个按所需计划运行的计时器。或者,您可以简单地在C#程序中编写检测远程文件的代码,而不用担心计时器,并且您可以使用Windows计划任务功能以特定时间间隔执行生成可执行文件。
由于您尚未提及是否要使用.NET Framework,因此可以使用您选择的任何编程语言。我会推荐C#或Java使用您选择的第三方库。如果您正在寻找商业图书馆,请考虑Ssh Factory for .NET或Secure FTP Factory。文档可以找到here和here。