Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 启动时运行脚本,重新启动时运行其他脚本_Linux_Amazon Web Services_Shell - Fatal编程技术网

Linux 启动时运行脚本,重新启动时运行其他脚本

Linux 启动时运行脚本,重新启动时运行其他脚本,linux,amazon-web-services,shell,Linux,Amazon Web Services,Shell,我不完全确定这是问这个问题的正确地方。但事情是这样的 我有一个脚本,在启动时运行良好,安装docker。之后,我想重新启动服务器并运行一些脚本。有没有办法使这个过程自动化 例如 安装一个 重新启动 安装B并运行B AWS Lighthouse和EC2有一个启动脚本,您可以在第一次创建新实例时运行该脚本。但是我想在重启后运行一些东西。实例重启后,您可以利用用户数据执行一些事情 请参阅下面的链接以实现相同的目的: 我有一个脚本,在启动时运行良好,安装docker 如果脚本“A”应该只安装Docke

我不完全确定这是问这个问题的正确地方。但事情是这样的

我有一个脚本,在启动时运行良好,安装docker。之后,我想重新启动服务器并运行一些脚本。有没有办法使这个过程自动化

例如

安装一个

重新启动

安装B并运行B


AWS Lighthouse和EC2有一个启动脚本,您可以在第一次创建新实例时运行该脚本。但是我想在重启后运行一些东西。

实例重启后,您可以利用用户数据执行一些事情

请参阅下面的链接以实现相同的目的:

我有一个脚本,在启动时运行良好,安装docker

如果脚本“A”应该只安装Docker,那么我不建议在使用Docker处理AWS时以这种方式安装Docker

我将推荐使用具有Docker和从测试到生产运行所需的一切的工具

如果使用Amazon ECS启动实例,优化的Amazon Linux 2 AMI包括:

  • Amazon Linux 2的最新最低版本

  • 最新版本的Amazon ECS容器代理(1.30.0)

  • 最新Amazon ECS容器代理(18.06.1-ce)的推荐Docker版本

  • 用于运行和监视Amazon ecs代理的最新版本ecs init软件包(1.30.0-1)

我不知道为什么在安装后需要重新启动实例?因此,在上面的AMI中,您有一个docker,您想在
脚本A
上添加
脚本B
,它将在引导时运行,您不需要重新启动

如果您仍然愿意继续当前的方法,那么在重新启动或关闭时运行脚本取决于底层操作系统,因为只有用户数据行为对所有操作系统都是相同的。您也可以尝试@Pacifist or发布的答案