【问题标题】:EC2 Windows Instance run python script at startEC2 Windows 实例在启动时运行 python 脚本
【发布时间】:2019-10-03 02:38:29
【问题描述】:

我有一个带有 Windows 的 EC2 实例,我需要在它启动后立即自动运行 python3/selenium 代码。

我尝试了 USER-DATA 但没有成功。

目标是设置一个流程,在实例启动后自动对我们的门户运行自动化测试,无需任何手动交互。

我尝试过创建一个 USER-DATA 脚本,例如:

<script>
python c:\script.py
</script>

<powershell>
python c:\script.py
</powershell>"

我希望在引导结束时它会启动 python 脚本,但没有成功

【问题讨论】:

  • 日志文件有什么内容?对于最新的 Windows 版本,请查看 C:\ProgramData\Amazon\EC2-Windows\Launch\Log\UserdataExecution.log。对于较旧的 Windows 版本,请查看 C:\Program Files\Amazon\Ec2ConfigService\Logs\Ec2Config.log。您是要启动一个新实例,还是只是更改现有实例上的用户数据?另见:Running Commands on Your Windows Instance at Launch
  • 用户数据只执行一次,除非您有一个持久标志来告诉 EC2 在每次启动(停止/启动)时执行您的脚本。检查上面提到的日志以查看正在拾取哪些标签,并且您的代码实际上已运行。如果您的代码在没有任何输出的情况下运行并且似乎没有发生任何事情,您可以添加一个小测试来制作一个临时文件。如果文件已创建并且您的脚本没有运行,我会重新审视您使用的语法

标签: python windows amazon-ec2 boto3 ec2-ami


【解决方案1】:

我不知道你是否知道这一点,但如果有人从谷歌找到这个,我可以通过查看C:\ProgramData\Amazon\EC2-Windows\Launch\Log\UserdataExecution.log 中的用户数据日志来解决这个问题,我发现它是在 windows powershell 中运行脚本,无论出于何种原因,我的 windows powershell 都无法识别 python。

所以不要在用户数据中做python &lt;your script path&gt;

我做了py &lt;your script path&gt;,这解决了我的问题。

这也帮助了我https://stackoverflow.com/a/47889881/7789281 使用 sysprep

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-09-12
    • 2017-06-10
    • 1970-01-01
    • 2022-01-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多