最近换了一台VPS,重新折腾了一下ubuntu的开机自启,发现在ubuntu 16.04/etc/rc.d/rc.local没有了,以往需要开机自启的东西我都是配置在这里的。

没有该文件后的最方便的解决办法就是:crontab
crontab内置的@reboot指令可以在机器启动后运行,语法异常简单,有个坑就是crontab的环境变量和主机是不一样的。

编辑crontab配置:

# crontab -e

下面是我的配置:

@reboot /home/han/nginx/sbin/nginx

TIP

当运行的程序需要依赖于环境变量时,可以通过新建脚本,在脚本中source /etc/profile即可。
例如我的crontab配置是@reboot /home/han/ci/start.sh
start.sh内容为:

#!/bin/bash
source /etc/profile
nohup java -jar /home/han/ci/jenkins.war &
Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐