SSH 连接启动 bash 进程,但希望在 Amazon EC2 实例上启动实例后立即启动进程

SSH 连接启动 bash 进程,但希望在 Amazon EC2 实例上启动实例后立即启动进程

我已经在 AWS 上创建了我的实例的 AMI,并与我的队友共享了该 AMI,他希望使用与我完全相同的配置来启动服务器。我还编写了一个 bash 脚本,它在后台启动 tmux 并触发 python 脚本。但是,当我的队友启动实例时,可以通过所需的配置访问他的服务器。但除非他对新构建的实例执行一次 ssh,否则 bash 脚本不会运行。我能知道这种方法有什么问题吗?任何建议和答案将不胜感激。 TIA

答案1

您可以在创建 AMI 之前在 Crontab 中定义 bash 脚本。因此,它将创建一个新映像并在打开时运行 Crontab bash 脚本。您可以将以下参数添加到 crontab 文件中。

nano /etc/crontab

以下行到顶行:

PATH=/bin:/usr/local/bin

在底行您可以添加:

@reboot /dir/to/your-script.sh >> /home/user/logs/crontab.log 2> & 1

最上面一行如下: PATH=/bin:/usr/local/bin

在最后一行,您可以添加: @reboot /dir/to/your-script.sh >> /home/user/logs/crontab.log 2> & 1

“>>”符号使其将 crontab 操作的结果发送到相关目录中的 .log 文件,而不是系统默认的电子邮件。

相关内容