我正在尝试执行以下用户数据脚本
sudo wget https://files.mysite.com/downloads/myFile.tar -P /opt
sudo tar -xvf /opt/myTar.tar -C /opt
sudo /opt/myFile.sh
当我手动执行.sh文件时,我看到以下内容:
Extracting...
Unpacking...
Cleaning up...
Complete
它会在/opt/myDirectory
中创建一个目录
我确实在/var/log/cloud-init-output.sh
中看到控制台,但是当作为userdata脚本的一部分运行时,它似乎没有创建目录。
你在 shell 脚本中调用 shell 脚本,因此您需要确保:
将此作为 EC2 用户数据脚本的第一行
#!/bin/bash
使用
source
命令(别名为.
(调用myFile.sh
,如下所示:. /opt/myFile.sh
因此它将运行 myFile 脚本
注意:ec2 用户数据脚本以 root 用户身份运行,因此您不需要在每次运行命令时都sudo
。
解决方案:首先将 CD 放入目录。
#!/bin/bash
cd /opt
wget https://example.com/myTAR.tar
tar -xvf myTAR.tar
/opt/mySH.sh