将文件从 EC2 linux 实例传输到 Windows 系统
Transfer a file from EC2 linux instance to a Windows system
我在 EC2 linux 系统上有一个计划任务,它每天生成一个文件。现在我想将此文件从那台机器传输到另一台不在 AWS 上的 Windows 机器。
我只想在 EC2 实例上安排此作业。我不想从目标机器下载它,我想要 EC2 的上传工具。
我试过以下命令:
scp -i (Key File for my current EC2 instance) (IP of target):(Local file path of current EC2 instance) D:\TEMP(Target Path of window machine)
我得到:
ssh: connect to host (IP of target) port 22: Connection refused
我们已经具备将文件存储在 S3 中的功能,但这取决于 EC2 实例的任务。 (有时需要 1 小时,有时需要 4 小时,这就是为什么我希望它在这个任务结束时。)
您收到的错误很可能是由于您的 EC2 实例前面的 EC2 安全组或您的 Windows 服务器网络上的防火墙设置不正确造成的。
我想建议使用 Amazon S3 存储桶将文件从您的 EC2 实例上传到 S3。然后,该文件可以等待作为计划作业从您的 Windows 实例中收集。您可以在 Windows 下载文件后从 S3 中删除文件,或者使用 lifecycle policy 在一定时间后自动删除保存的文件。
这将不再需要打开 SSH 连接到您的 EC2 实例,还可以让您将文件保存在 S3 中,以便您再次需要时可以重新下载。
我不知道您使用的是什么技术堆栈,但您可以在两台服务器上使用 AWS CLI 或您首选编程语言的 SDK 来开始使用 Amazon S3。
我在 EC2 linux 系统上有一个计划任务,它每天生成一个文件。现在我想将此文件从那台机器传输到另一台不在 AWS 上的 Windows 机器。
我只想在 EC2 实例上安排此作业。我不想从目标机器下载它,我想要 EC2 的上传工具。
我试过以下命令:
scp -i (Key File for my current EC2 instance) (IP of target):(Local file path of current EC2 instance) D:\TEMP(Target Path of window machine)
我得到:
ssh: connect to host (IP of target) port 22: Connection refused
我们已经具备将文件存储在 S3 中的功能,但这取决于 EC2 实例的任务。 (有时需要 1 小时,有时需要 4 小时,这就是为什么我希望它在这个任务结束时。)
您收到的错误很可能是由于您的 EC2 实例前面的 EC2 安全组或您的 Windows 服务器网络上的防火墙设置不正确造成的。
我想建议使用 Amazon S3 存储桶将文件从您的 EC2 实例上传到 S3。然后,该文件可以等待作为计划作业从您的 Windows 实例中收集。您可以在 Windows 下载文件后从 S3 中删除文件,或者使用 lifecycle policy 在一定时间后自动删除保存的文件。
这将不再需要打开 SSH 连接到您的 EC2 实例,还可以让您将文件保存在 S3 中,以便您再次需要时可以重新下载。
我不知道您使用的是什么技术堆栈,但您可以在两台服务器上使用 AWS CLI 或您首选编程语言的 SDK 来开始使用 Amazon S3。