我搜索了很多,似乎没有人对此有任何问题。
我的代码可能存在问题,但我真的找不到它。
这是我的user-data-script.sh
#!/bin/sh
su root
cd /var
mkdir www
这是我用来启动实例的python脚本
#!/usr/bin/python
import boto.ec2
def get_script(filename='user-data-script.sh'):
return open(filename).read()
def launch():
connection = boto.ec2.connect_to_region('us-east-1')
return connection.run_instances(
image_id = 'ami-6ba27502',
instance_type = 't1.micro',
key_name = 'forSSH',
security_groups = ['default'],
user_data=get_script(),
)
if __name__ == '__main__':
launch()
并在实例准备好之后。我ssh到它,我找不到/ var / www :(
这是/var/log/cloud-init.log
中的最后几行[CLOUDINIT] cloud-init-cfg[INFO]: cloud-init-cfg ['all', 'final']
[CLOUDINIT] __init__.py[DEBUG]: handling rightscale_userdata with freq=None and args=[]
[CLOUDINIT] __init__.py[DEBUG]: handling scripts-per-once with freq=None and args=[]
[CLOUDINIT] __init__.py[DEBUG]: handling scripts-per-boot with freq=None and args=[]
[CLOUDINIT] __init__.py[DEBUG]: handling scripts-per-instance with freq=None and args=[]
[CLOUDINIT] __init__.py[DEBUG]: handling scripts-user with freq=None and args=[]
ps:我不是要设置HTTP服务器,
su root; cd /var; mkdir www
只是尝试一下。
答案 0 :(得分:0)
user_data脚本以root身份运行,因此您不需要“su root”