首页 > 解决方案 > ec2 用户数据脚本仅部分执行

问题描述

我正在使用带有 ubuntu 18 ami 的 ec2 实例,用户数据脚本如下:

#!/bin/bash
sudo apt-get update -y
sudo apt-get install python-pip -y
sudo apt-get install awscli -y
mkdir /home/ubuntu/dir
aws s3 sync s3://art-meta-data ./art-meta-data

它仅部分执行的脚本,它安装了 pip,执行 apt-get 更新,安装了 awscli,但不同步存储桶并且不创建目录。

我没有收到任何错误(也许我看起来不正确?)当我尝试创建目录并通过 ssh 同步 bucker 时,它运行良好,这意味着 s3 权限和 os 权限很好。

这里可能是什么问题?我还应该检查什么?

编辑:我发现了这个- 解释了每次停止和启动实例时如何让脚本运行,但没有解释为什么添加的元编码会改变任何东西。谁能给我一些参考,说明为什么这个脚本与普通 bash 脚本的工作方式不同?

标签: amazon-web-servicesubuntuamazon-s3amazon-ec2user-data

解决方案


最好在同步命令上描述完整路径,以避免在错误的位置创建。

#!/bin/bash
sudo apt-get update -y
sudo apt-get install python-pip -y
sudo apt-get install awscli -y
mkdir /home/ubuntu/dir
aws s3 sync s3://art-meta-data /home/ubuntu/dir/art-meta-data

推荐阅读