![](/img/trans.png)
[英]Unable to run python selenium webdriver scripts over Amazon EC2
[英]ec2 run scripts every boot
我在这里关注了一些帖子,试图在每次启动后在我的ec2实例上运行python或shell脚本,而不仅仅是第一次启动。
我试过了:
[scripts-user,始终]到/etc/cloud/cloud.cfg文件
和
将脚本添加到/etc/rc.local
我试图将文件的输出传递到位于/ home / ubuntu /目录中的文件,并且该文件在引导后不包含任何内容。
如果我手动运行脚本(.sh或.py),它们就可以工作。
有任何建议或要求提供其他信息以帮助您吗?
这是你想要的东西吗?
它将脚本复制到实例,连接到实例,并立即运行脚本。
ec2 scp ~/path_to_script.py : instance_name -y && ec2 ssh instance_name -yc "python script_name.py" 1>/dev/null
我读到rc.local的使用已被弃用。 要尝试的一件事是/ etc / crontab中的一行,如下所示:
@reboot完整的脚本路径
如果您希望将脚本作为特定用户运行,则可以在@reboot之后列出该脚本。
因此,当前的解决方案似乎是我在我的初始问题帖子中写下的一种方法,因为我可能没有像下面链接中的大纲那样完成设置...
此链接 - > 如何在每次启动EC2实例时运行cloud-init启动脚本?
该链接显示如何修改/etc/cloud/cloud.cfg文件以将脚本用户更新为[scripts-user,always]
此链接还表示将* .sh文件添加到/ var / lib / cloud / scripts / per-boot目录。
重启系统后,您的脚本应该已执行,您可以在以下位置验证: sudo cat /var/log/cloud-init.log
如果您的脚本仍然无法执行,请尝试使用以下命令擦除服务器的实例状态: sudo rm -rf / var / lib / cloud / instance / *
- 注意: - 看起来python脚本中的打印命令不按预期管道(>>)但是echo命令很容易管道
无法管道 sudo python test.py >> log.txt
管道成功 echo "HI" >> log.txt
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.