systemctl 启动不了mysql_Ubuntu18开机自启动脚本

ubuntu18 不能像 ubuntu16 一样通过编辑 rc.local 来设置开机启动脚本,需要通过下列简单设置后,以使 rc.local 重新发挥作用。

Ubuntu 16.10开始不再使用 initd 管理系统,改用 systemd,包括用 systemctl 命令来替换了 servicechkconfig 的功能。比如以前启动 mysql 服务用 sudo service mysql start,现在用 sudo systemctl start mysqld.servicesystemd 默认读取 /etc/systemd/system 下的配置文件,该目录下的文件会链接 /lib/systemd/system/ 下的文件。

执行命令ls /lib/systemd/system可以看到很多启动脚本,其中就有我们需要的rc-local.service,打开脚本内容如下:

v2-d73597b38156fbcc142fc61d036744b2_b.jpg
/lib/systemd/system/rc-local.service

一般启动文件需要三个组成部分:

[Unit]段: 启动顺序与依赖关系
[Service] 段: 启动行为,如何启动,启动类型
[Install] 段: 定义如何安装这个配置文件,即怎样做到开机启动

上面少了 [Install] 段,把下面 Install 段添上去,加入到 rc-local.service 的最后:

[Install]  
WantedBy=multi-user.target

在这个 rc-local.service 中我们已经声明了我们对应的自启动配置文件为 /etc/rc.local。然而 ubuntu18 是默认没有这个文件的,所以需要我们手动创建该文件。然后再将你需要的开机自启动脚本写入到这个文件下:

v2-0f0cdb222347b857e689589c13f43511_b.jpg
/etc/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/text.log
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

重启后查看是否有 text.log 生成:

v2-cbd0d5efbae7685c937ac1cd0396e177_b.jpg

如果看到如上的内容,就说明已经配置成功了,然后你可以进一步修改你的 rc.local 中的自启动脚本改成你所想要的启动脚本。

比如,我这里设置的是开机自动启动拨号连接和开启 frp 远程服务脚本:

python3 /home/g2080/ihdu3.py >/dev/null 2>&1 &
nohup /home/g2080/frp/frpc -c /home/g2080/frp/frpc.ini >/dev/null 2>&1 &
exit 0

Bingo~

另外,如果担心仅仅设置开机自动,不能够很好的应对服务器运行过程中的突发情况,可以进一步设置定时任务脚本:

晒月亮的孩子:Ubuntu18定时任务脚本​zhuanlan.zhihu.com

参考资料:

  • Ubuntu 18.04设置开机自动启动
  • ubuntu18.04开机自启动脚本(已测试可以) - xyyhqq - 博客园
  • Ubuntu18.04三分钟设置开机启动服务_idiot_qi的博客-CSDN博客
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值