ubuntu18.04 不再使用initd管理系统,改用systemd.
然而systemd很难用,改变太大,跟之前的完全不同。
1)将 /lib/systemd/system/rc-local.service 链接到 /etc/systemd/system/ 目录下面来:
ln -fs /lib/systemd/system/rc-local.service /etc/systemd/system/rc-local.service
查看文件内容:
cd /etc/systemd/system/
cat rc-local.service
2)、创建/etc/rc.local文件
touch /etc/rc.local
3)、赋可执行权限
chmod 755 /etc/rc.local
4)、编辑rc.local,添加需要开机启动的任务
#!/bin/bash
echo "test rc " > /var/test.log
/home/datacenter/common/apache-zookeeper-3.6.0-bin/bin/zkServer.sh start
5)、执行reboot
重启系统,然后查看test.log
6、总结
其实就是利用 systemd 的启动原理, 通过 /etc/systemd/system/rc-local.service 文件来达到启动时执行 /etc/rc.local 文件的目的。
参考:https://www.centos.bz/2018/05/ubuntu-18-04-rc-local-systemd%E8%AE%BE%E7%BD%AE/