ubuntu18.04设置开机自动启动脚本(以自动启动odoo命令行为例讲解)

您所在的位置:网站首页 ubuntu18添加开机自启动脚本 ubuntu18.04设置开机自动启动脚本(以自动启动odoo命令行为例讲解)

ubuntu18.04设置开机自动启动脚本(以自动启动odoo命令行为例讲解)

2024-07-14 03:14| 来源: 网络整理| 查看: 265

简介 ubuntu作为服务器使用时,常常需要在机器重启时能自动启动我们开发的服务。

Ubuntu 16.10开始不再使用initd管理系统,改用systemd,包括用systemctl命令来替换了service和chkconfig的功能。

systemd 默认读取 /etc/systemd/system 下的配置文件,该目录下的文件会链/lib/systemd/system/下的文件。

不同于以往的版本,ubuntu18.04默认不带/etc/rc.local文件,我们需要通过配置来让rc-local.service生效。

然后我们就可以像以前那样,直接把启动脚本写入/etc/rc.local文件,这样机器启动时就会自动运行它。

rc.local启动脚本 查看所有服务

ls /lib/systemd/system # 可以看到很多服务,这样不便于确认指定的服务是否存在 ls /lib/systemd/system | grep rc # 找到我们关心的rc-local.service服务

修改服务配置

sudo vi /lib/systemd/system/rc-local.service

打开后可以看到,文件包含[Unit]和[Service]两个部分内容

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

[Unit] 启动顺序与依赖关系 [Service] 启动行为, 如何启动,启动类型 [Install] 定义如何安装这个配置文件,即怎样做到开机启动 在文件最后加入以下内容:

[Install] WantedBy=multi-user.target Alias=rc-local.service

创建执行文件

sudo vi /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. time=$(date) echo $time > /odoo16/rc-local-info.log # 这个是你的实际接收脚本启动日志的路径 # add your scritp here python3 /odoo16/src/odoo-bin -c /odoo16/odoo.conf # 这个是你的实际项目路径 exit 0

为rc.local加执行权限:

sudo chmod +x /etc/rc.local

建立软链接 systemd 默认读取 /etc/systemd/system 下的配置文件, 所以还需要在 /etc/systemd/system 目录下创建软链接

sudo ln -s /lib/systemd/system/rc-local.service /etc/systemd/system/

启用服务并启动

sudo systemctl enable rc-local sudo systemctl start rc-local.service # 一直等待,可以不用理它,重启测试即可 sudo systemctl status rc-local.service

重启检查:

cat /odoo16/rc-local-info.log # Thu 26 Oct 2023 11:36:09 AM CST


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3