我启动了一台我创建的CentOS AMI,并尝试添加用户数据,文件看起来像这样:
#!/bin/bash
mkdir /home/centos/testing
cd testing
wget https://validlink
简单来说,用户数据在启动时创建一个名为“testing”的文件夹,并下载此“validURL”,但我不会提供链接因为它链接到我的数据 - 但它是有效且可访问的。
当我启动实例时,文件夹“testing”成功创建,但目录中没有文件。
当我通过ssh进入实例,并以sudo身份运行wget命令时,文件将成功下载到testing文件夹中。
为什么文件不能在ec2启动时通过用户数据下载?
--output-file=wget_error.log
或者wget https://validlink 2> wget_error.log
来捕获stderr。也许这会揭示问题的一些线索。如果仍然不清楚,请考虑使用-v
标志进行“详细”输出和-d
标志进行“调试输出”,并将stderr和stdout重定向到日志文件中wget https://validlink -v &> wget_output.log
。作为一个想法,也许这个命令是在机器上设置网络接口之前执行的? - JNevillcd
命令更改为绝对路径或使用wget
的-o
选项与绝对路径和文件名一起写入会更好。 - JNevill