【发布时间】:2021-06-09 05:34:39
【问题描述】:
我有一个 shell 脚本,它从 s3 存储桶中复制文件,然后运行 python 脚本,然后删除复制的文件。 这个文件panorama.sh 位于我的ec2 实例的/home/ubuntu 目录中。 我已将我的 ec2 实例的用户数据修改如下
Content-Type: multipart/mixed; boundary="//"
MIME-Version: 1.0
--//
Content-Type: text/cloud-config; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment; filename="cloud-config.txt"
#cloud-config
cloud_final_modules:
- [scripts-user, always]
--//
Content-Type: text/x-shellscript; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment; filename="userdata.txt"
#!/bin/sh
sh ./panorama.sh
但是这似乎不起作用,因为当我在 /var/log/cloud-init-output.log 中检查我的云监视日志时,我最终得到了这个
sh: 0: 无法打开 ./panorama.sh
Cloud-init v. 20.4.1-0ubuntu1~18.04.1 在 2021 年 3 月 11 日星期四 08:31:38 +0000 运行“modules:final”。上升 17.05 秒。
2021-03-11 08:31:38,684 - cc_scripts_user.py [警告]:无法运行模块脚本-用户(/var/lib/cloud/instance/scripts 中的脚本)
2021-03-11 08:31:38,684 - util.py [警告]:运行模块脚本用户( 我尝试将 ls 放入用户数据中以查看当前目录中的文件。它似乎在同一个工作目录(/home/ubuntu)中。那么为什么它找不到我的shell脚本并执行它呢?
【问题讨论】:
标签: python amazon-web-services shell amazon-s3 amazon-ec2