最近换了一台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 &