[英]Running init script on a Linux instance at launch on Azure
我正在 Azure 上启动 Linux VM(例如 Ubuntu Server),并希望在实例启动时执行我的 init 脚本。
我想获得与AWS User Data相同的行为。
如何在不创建自定义 VM 映像的情况下做到这一点?
您可以使用 Microsoft 的Custom Script For Linux
扩展来进行 VM 的任何脚本后置备。
文档可以在这里找到。
在“自定义数据”下,可以添加如下内容:(假设 Ubuntu 操作系统)
#!/bin/bash
sudo su
sudo apt update -y #-y means yes to all prompts
sudo apt install apache2 -y
sudo systemctl status apache2
rm /var/www/html/index.html
cat <<EOF >/var/www/html/index.html
<html><body><h1> <font color="blue"> <center>Webserver #01<center></font></h1></body></html>
<html><body><h1> <font color="blue"> <center>Welcome to Microsoft Azure Administrator AZ-104 Training Bootcamp !<center></font></h1></body></html>
<style>
.aligncenter {
text-align: center;
}
</style>
EOF
注意-请参考我的其他答案(自定义数据),这是一种更简单的方法。
按照建议,选项 2 是使用 Linux 扩展:
选择扩展>>来自 Linux 的自定义脚本(由 Microsoft 提供)
需要选择一个 .sh 文件>>我们需要将它上传到 azure storage account
确保在命令中更新文件名:
在 linux 中运行脚本有多种方法:
-sh 脚本名称.sh
-Bash 脚本名称.sh
- 只需运行文件即
path/script-name.sh
如果在当前目录中,
./script-name.sh
==================================================== =======================在windows中生成bash脚本:
参考https://www.howtogeek.com/261591/how-to-create-and-run-bash-shell-scripts-on-windows-10/
Windows 带有 Linux 集成。
注意:要在 linux 中执行脚本,请键入bash filename.sh (不要为创建的启动脚本执行此操作,不要让它在当前机器上运行)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.