最近在使用Ubutnu18.04,我突然发现没有rc.local文件了,原来是因为在新版本全部统一使用systemctl来管理服务了,开机自启动服务也不例外。
打开rc-local.service文件
sudo vim /lib/systemd/system/rc-local.service
打开的文件中,可以看到已经存在[Unit]、[Service]模块。在尾部,添加[install]参数,并保存退出。
[Install]
WantedBy=multi-user.target
Alias=rc-local.service
创建rc.local文件
touch /etc/rc.local
将下列内容复制进rc.local文件,我的示例中添加了两个需要启动的“程序”
#!/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.
echo "看到这行字,说明添加自启动脚本成功。" > /usr/local/test.log #程序1:这一行用来测试是否生效
sh demo.sh #程序2:这一行是正式的程序脚本【需要替换成自己的真实程序脚本】
exit 0
给rc.local加上权限
sudo chmod +x /etc/rc.local
启用服务
sudo systemctl enable rc-local
启动服务并检查状态
sudo systemctl start rc-local.service
sudo systemctl status rc-local.service
重启并检查test.log文件
cat /usr/local/test.log