在Ubuntu 18.04.5 LTS系统中想要将守护进程脚本放到开机启动脚本中,发现系统中缺失rc.local文件,下面通过创建rc.local文件来实现脚本的开机自启动
第一步
创建rc.local文件,并修改其权限
touch /etc/rc.local
chmod 777 /etc/rc.local
rc.local文件的内容,有的第一行会是#!/bin/bash -e,根据具体的情况而定;开机启动脚本会放在exit 0之前;
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
nohup sh /*/*/*.sh &
exit 0
第二步
在/usr/lib/systemd/system/ 或 /lib/systemd/system/ 创建rc.local.service配置文件
rc.local.service配置文件的内容如下:
# SPDX-License-Identifier: LGPL-2.1+
#
# This file is part of systemd.
#
# systemd is free software; you can redistribute it and/or modify it
# under the terms of the GNU Lesser General Public License as published by
# the Free Software Foundation; either version 2.1 of the License, or
# (at your option) any later version.
# This unit gets pulled automatically into multi-user.target by
# systemd-rc-local-generator if /etc/rc.local is executable.
[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
第三步
将其设置为开机启动运行
systemctl enable rc.local.service
查看是否生效
systemctl status rc.local.service
最后通过reboot验证开机脚本是否生效