我们目前有一个流程,用户使用Cisco VPN客户端建立到远程服务器的安全隧道。然后,他们将远程桌面插入远程网络上的计算机。在远程计算机上,它们启动SQL Server 2008企业管理器,运行生成CSV文件的查询。然后将文件手动传输回本地计算机。
此过程每月只需进行一次,以便从我们的远程计算机中提取此CSV(报告)。
传输是IPSec / UDP。
我无法通过脚本找到任何帮助。这可能吗?如果不是通过PHP,可能通过perl或任何服务器端脚本?
感谢。
答案 0 :(得分:0)
Perl能够做到这一点。
尝试将此问题分解为两部分:
1)生成CSV文件。 2)移出此CSV文件。
<强>第1部分:强>
您可以使用Perl连接到SQL Server,运行查询并生成CSV文件。
使用ODBC和DBI进行连接:How do I connect with Perl to SQL Server?
使用Text::CSV生成有效的CSV文件。
<强>第2部分:强>
2.1:您可以设置一个简单的(https)网络服务器来仅提供此CSV文件。如果需要,您可以在发送之前加密此文件。
您可以使用Putty设置SSH Tunel以进一步保护传输:http://www.planetb.ca/2010/08/how-to-create-an-ssh-tunnel-with-putty-and-stay-anonymous-on-a-network/
这样很容易:http://metacpan.org/pod/HTTP::Server::Brick
use HTTP::Daemon::SSL;
my $server = HTTP::Server::Brick->new(
port => 8889,
daemon_class => 'HTTP::Daemon::SSL',
directory_indexing => 1,
daemon_args => [
SSL_key_file => 'my_ssl_key.pem',
SSL_cert_file => 'my_ssl_cert.pem',
],
);
$server->mount( '/csvfile' => {
path => 'C:/path/to/your/csv/file',
wildcard => 1,
});
# start accepting requests (won't return unless/until process
# receives a HUP signal)
$server->start;
2.2:你可以在你的机器上设置ssh服务器并使用scp(来自Putty的.exe)来复制文件。
https://serverfault.com/questions/8411/what-is-a-good-ssh-server-to-use-on-windows