Ubuntu 自启动服务的方法

方法一: /etc/rc.local

rc.local 是 Ubuntu的开机自启动配置文件
执行的时机:是在系统所有服务启动后,开始执行rc.local 中的配置
在Ubuntu 20.04 中,默认的 rc.local 服务并没有启用,因此需要手动配置:

## 启动服务
systemctl start rc-local.service

## 重启服务
systemctl restart rc-local

## 停止服务
systemctl stop rc-local.service

## 服务使能 --> 开机依旧生效
systemctl enable rc-local.service

## 禁用服务 --> 再次开机时会失效
systemctl disable rc-local.service

在 /etc/ 目录下创建 rc.local 文件:

vi /etc/rc.local
# 注意需要 再首行添加 #!/bin/bash    因为这个是个 shell 脚本
# 添加执行权限
chmod 777 /etc/rc.local

注意

  1. 不是守护方式,无法重试。
  2. 与用户无关,都是root权限

参考方法: https://blog.csdn.net/qz652219228/article/details/125107694

方法二: 使用 systemd (推荐)

1. 在 /etc/systemd/system 目录里增加需要自启动的服务, 如: JNS.service

sudo vi /etc/systemd/system/JNS.service
# 添加以下内容:

[Unit]
Description=JNS service, mount folder and create log folder
After=network.target

[Service]
ExecStart=/etc/systemd/system/JNS.sh
Restart=always

[Install]
WantedBy=default.target

2. 在 /etc/systemd/system 目录里增加上述 .service 文件里 ExecStart 标注的 文件

sudo vi /etc/systemd/system/JNS.sh
# 添加以下内容:
#!/bin/bash

if [ ! -d "/tmp/JNS" ];then
        echo "create folder: /tmp/JNS"
        mkdir /tmp/JNS
fi

if [ ! -d "/home/keye/KYWorkspace" ];then
        echo "create folder: /home/keye/KYWorkspace"
        mkdir /home/keye/KYWorkspace
fi

while test -z "$(df | grep KYWorkspace)"; do
        echo "try mount KYWorkspace"
        mount.cifs //192.168.80.1/KYWorkspace /home/keye/KYWorkspace -o username=keye,password=keye,uid="$(id -u keye)"
        sleep 10
done

3. 执行以下命令

chmod 777 /etc/systemd/system/JNS.service
chmod 777 /etc/systemd/system/JNS.sh
systemctl daemon-reload
systemctl enable JNS.service
systemctl start JNS.service
  • 9
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值