在AWS Ec2 Ubuntu 1404 Server上启动时运行脚本

阿比耶耶

我需要在Ec2实例的启动时启动诸如Elasticsearch,kafka之类的服务

我在crontab上尝试过@reboot,但是出了点问题

Shell脚本:

#!/bin/sh

nohup /home/ubuntu/elasticsearch-2.3.4/bin/elasticsearch &

Crontab条目:

@reboot sh /home/abhijeet/startServices.sh

我不知道我要去哪里错了

血红素

cron在修改后的环境中运行shell,并且在该环境中运行的shell最少PATH且大概/usr/bin不存在,因此/usr/bin/nohup未找到。

你可以:

  • 添加/usr/bin到中PATH,而不是修改您crontab的,您应该在脚本顶部添加以下内容:

    #!/bin/sh
    export PATH="$PATH":/usr/bin
    nohup /home/ubuntu/elasticsearch-2.3.4/bin/elasticsearch &
    
  • 使用绝对路径nohup

    #!/bin/sh
    /usr/bin/nohup /home/ubuntu/elasticsearch-2.3.4/bin/elasticsearch &
    

请注意,根据crontab条目,您正在执行脚本作为shdash的参数,同时具有完全相同的shebang。在这种情况下,这没有什么区别,但是如果shebang不同,请注意这一点。通常,可以使脚本可执行,并使用shebang指示所需的解释器。


现在,最重要的部分cron在它们各自的子外壳中运行所有给定的作业,并并行(非阻塞)生成这些子外壳,即以并行方式运行作业。因此,您不需要nohupand和backgrounding(&),只需这样做(根据您的示例,该/home/ubuntu/elasticsearch-2.3.4/bin/elasticsearch文件是可执行的):

@reboot /home/ubuntu/elasticsearch-2.3.4/bin/elasticsearch

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

AWS Ec2在启动时运行脚本程序

AWS EC2-使用Windows Server 2012在实例启动时运行脚本

在AWS ec2实例(ubuntu)上运行JMeter测试

Crontab无法在AWS ec2 Ubuntu实例上运行

如何在AWS EC2 Ubuntu上sudo jps

Jenkins未在AWS EC2 Ubuntu上连接

如何在Ubuntu Server 17.10上启动时运行脚本?

无法在启动ec2 ubuntu服务器上运行脚本

如何在AWS EC2实例(ubuntu)上运行python脚本?

如何访问在AWS EC2 Ubuntu的localhost上运行的Parse Server?

获取AWS在启动时自动将EC2卷附加到Ubuntu实例

robomongo aws ec2 ubuntu

尝试在AWS EC2的实例存储上启动Ubuntu 18.04

永久链接在运行Ubuntu 16.04的AWS EC2实例上给WordPress错误404

运行的Docker容器在AWS EC2 Ubuntu上随机消失

如何在AWS EC2 apache2 ubuntu上安装SSL证书?

在AWS EC2 VPC中的ubuntu 13.10上安装和配置Snort,Barnyard2

在启动时运行脚本ubuntu 14.04

无法重新启动apache服务器AWS EC2 Ubuntu计算机

AWS EC2 Ubuntu 14.04实例时钟提前12分钟运行

Jenkins 未连接到 AWS EC2 Ubuntu 上的 8080 端口

通过AWS EC2 Ubuntu实例上的iptables重定向端口

尝试在适用于AWS EC2的Ubuntu 18.04上安装PHP时出错

使用AWS EC2在更新ubuntu 16.04上本地修改的/boot/grub/menu.lst

无法在AWS EC2实例Ubuntu上从Amazon Repo安装软件包

在ubuntu 20.04 AWS EC2节点上安装Nginx时出现问题

无法在 AWS EC2 (Ubuntu) apache 系统上 SSL Godaddy 验证的证书

在AWS EC2(Ubuntu Server)中访问framebuffer / dev / fb0

PXE 从 AWS EC2 实例启动?