Ubuntu20.04--开机自动运行脚本(命令)--方法/实例

原文网址:Ubuntu20.04--开机自动运行脚本(命令)--方法/实例_IT利刃出鞘的博客-CSDN博客

简介

本文介绍Ubuntu20.04如何开机自动运行命令。(也适用于Ubuntu22.04版本)

新版本方案(20.04版本及之后)

1.创建rc-local.service文件

sudo cp /lib/systemd/system/rc-local.service /etc/systemd/system

然后修改/etc/systemd/system/rc-local.service,在文件最下方添加如下两行:

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

2.创建rc.local文件

创建/etc/rc.local,里边写自己想要运行的命令。例:

#!/bin/sh

echo "This is test" > /tmp/my.log

exit 0

/etc/rc.local加上可执行权限 

sudo chmod +x /etc/rc.local

3.测试

重启虚拟机

启动后可以发现:/tmp下已经有了my.log文件,里边内容为:"This is test"。

systemctl命令

启动服务

sudo systemctl start rc-local.service

查看服务状态

sudo systemctl status rc-local.service

老版本Ubuntu的方案

下边的方案在Ubuntu2018及之后的版本无效。

方案1:update-rc.d(2018及之前)

1.创建脚本

新建名为run_all_server.sh,内容如下:

#!/bin/bash

# 运行redis服务
cd /work/server/redis/
nohup redis-server redis.conf > redis.log 2>&1 &

2.添加执行权限

chmod +x run_all_server.sh

3.将脚本放入/etc/init.d路径下

sudo cp run_all_server.sh /etc/init.d/

4.将脚本添加到启动脚本

cd /etc/init.d/
update-rc.d run_all_server.sh defaults 90

90的含义:表明优先级,越大表示执行的越晚。

下边的命令会失败:

sudo update-rc.d /etc/init.d/run_all_server.sh defaults 90

错误信息:update-rc.d: error: unable to read /etc/init.d//etc/init.d/run_all_server.sh

5.移除脚本

update-rc.d -f run_all_server.sh remove

方案2:修改rc.local(2016及之前)

修改/etc/r.local

#!/bin/sh -e
#

# 在这里写自己的命令

exit 0

一定要将命令添加在exit 0之前。里面可以直接写命令或者执行Shell脚本文件sh。

  • 47
    点赞
  • 88
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

IT利刃出鞘

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值