Ubuntu 18.04 程序设置开机自启动

引子

虽然现在docker、k8s大行其道,我们的世界似乎已经被容器主宰,但是有一些程序还是不适合放到docker里面跑,比如node-exporter、自己写的某些程序,但是这些程序又是必须的,
如果每次重启机器都需要自己去启动一次那真的是太累了,所以这些程序需要自启动。

操作步骤

  1. 检查系统目录/lib/systemd/system/rc-local.service,如果没有自己新建,文件内容为(如果文件存在本身是没有[Install]项的,需要自己添加进去)
#### 文件中本身就有的
[Unit]
Description=/etc/rc.local Compatibility
Documentation=man:systemd-rc-local-generator(8)
ConditionFileIsExecutable=/etc/rc.local
After=network.target

[Service]
Type=forking
ExecStart=/etc/rc.local start
TimeoutSec=0
RemainAfterExit=yes
GuessMainPID=no

####  需要自己添加
[Install]
WantedBy=multi-user.target
Alias=rc-local.service
  1. 创建/etc/rc.local脚本文件,并写入要运行的程序
#! /bin/bash
#### 这里在/usr/local里面创建文件夹是想看是否有执行的权限
#### 事实证明是有的
mkdir /usr/local/temp
echo "test auto bootstrap" > /usr/local/temp/1.log

#### exit 0 是14.04里面建议要写的,18.04不知道需不需要先写上了
exit 0
  1. 给rc.local执行的权限
sudo chmod +x /etc/rc.local
  1. 启用服务
sudo systemctl enable rc-local
  1. 启动服务
sudo systemctl start rc-local.service
sudo systemctl status rc-local.service
  1. 查看效果
    可以看到/usr/local/temp文件夹被创建了,1.log文件也被创建了。
  2. 验证重启
sudo rm -rf /usr/local/temp
sudo reboot

依然有效即为成功....

posted @ 2020-07-11 11:02  whyfate  阅读(3093)  评论(1编辑  收藏  举报