在 Ubuntu 20.04 中,/etc/rc.local 文件仍然存在,但不再默认启用,因为它已经被 systemd 代替。下面是使用systemd开机执行的脚本的实例:

1.编写脚本myscript.sh:在编写myscript.sh脚本时,需要确保它是可执行的,并且在脚本中需要包含适当的命令来执行所需的操作。

  • 可执行权限:chmod 755 /home/user/myscript.sh
  • 脚本内容举例如下:
#!/bin/bash
sudo service apache2 start

请注意,您需要在脚本的第一行添加#!/bin/bash或类似的行,以指定使用的shell类型。如果您不添加#!/bin/bash,操作系统将尝试使用默认shell来运行脚本。这可能会导致一些问题,因为不同的shell类型可能对相同的命令或语法有不同的解释方式。

2.创建systemd unit文件

在/etc/systemd/system目录中创建一个新的unit文件,例如/home/user/myscript.service:

sudo nano /etc/systemd/system/myscript.service

添加以下内容:

[Unit]
Description=My Script
After=network.target [Service]
ExecStart=/home/user/myscript.sh [Install]
WantedBy=default.target

3.重新加载systemd

使用以下命令重新加载systemd:

sudo systemctl daemon-reload

4.启用unit文件

使用以下命令启用unit文件,以便systemd在下次引导时启动它:

sudo systemctl enable myscript.service

5.启动unit文件

使用以下命令立即启动unit文件:

sudo systemctl start myscript.service

现在,myscript.sh脚本将在系统引导时自动执行。如果您需要停止或重启脚本,可以使用以下命令:

sudo systemctl stop myscript.service
sudo systemctl restart myscript.service

禁用服务:

sudo systemctl disable myscript.service

查看systemd服务的运行状态及其日志:

6.查看服务状态

systemctl status myscript.service

这个命令可以查看服务是否正在运行,最后一次状态更新的时间,进程 ID 等信息。如果服务已经停止了,也可以查看最后一次服务的退出状态码。

ubuntu20.04开机自动运行脚本实例的更多相关文章

  1. 在Linux中以普通用户开机自动运行脚本程序

    测试环境:CentOS6.5 管理员:root 普通用户:test1 实现目标:在Linux启动时,以普通用户test1自动运行位于根目录下的脚本程序test.py,该程序会在每次执行时自动向本地日志 ...

  2. Linux系统如何设置开机自动运行脚本?

    大家好,我是良许. 在工作中,我们经常有个需求,那就是在系统启动之后,自动启动某个脚本或服务.在 Windows 下,我们有很多方法可以设置开机启动,但在 Linux 系统下我们需要如何操作呢? Li ...

  3. 用 crontab 实现开机自动运行脚本

    开发「bufpay.com 个人即时到账收款平台」的时候,订单状态和支付二维码的状态如果过期了要实时修改状态,最大效率利用支付二维码. 过期脚本需要开机启动,并且 deamon 运行,有很多办法可以开 ...

  4. Linux、UNIX设置开机自动运行命令、脚本配置

    一般我们不建议人工部署开机自动启动的脚本.而是建议通过crontab 部署脚本监控,理由如下: 1.自动开机部署脚本不好定位问题,有可能导致主机重启过慢. 2.自动开机部署脚本不好定位问题,有可能导致 ...

  5. NanoPC-T4/RK3399开发板Ubuntu FriendlyCore系统开机自动运行客户程序

    RK3399开机自动运行客户程序 比如hellohello.c 交叉编译:aarch64-linux-gcc hello.c -o hello使用SecureCRT软件通过串口下载到开发板rz修改文件 ...

  6. /etc/rc.local 与 /etc/init.d Linux 开机自动运行程序

    1. /etc/rc.local 这是使用者自订开机启动程序,把需要开机自动运行的程序写在这个脚本里 --------引用---------------------- 在完成 run level 3 ...

  7. redmine 开机自动运行

    想要redmine在centos上开机自动运行,于是就在 /etc/rc.local里面加上了一行脚本 #!/bin/shecho "start redmine:"/usr/loc ...

  8. Zabbix Server 和 Zabbix Agentd 开机自动运行

    Zabbix Server 和 Zabbix Agentd 开机自动运行 请问:怎样 Zabbix Server 和 Zabbix Agentd 开机自动运行? 注:如果你的命令行写进了 /etc/r ...

  9. Ubuntu12.04开机自动挂载windows分区

    最近使用Ubuntu12.04时不知到怎么搞的原本能自动识别的Windows的C .D .E盘突然间无法识别了,于是上网搜了一下Ubuntu12.04下自动挂载Windows NTFS分区的方法. 还 ...

  10. C#.NET Form设置/取消开机自动运行,判断程序是否已经设置成开机自动启动(转载)

    #region//开机自动运行        private void CB_Auto_CheckedChanged(object sender, EventArgs e)        {//CB_ ...

随机推荐

  1. 力扣---1148. 文章浏览 I

    Views 表:+---------------+---------+| Column Name   | Type    |+---------------+---------+| article_i ...

  2. spring-in-action-day05-REST

    1.创建RESTFUL端点 (1)创建get端点 (2)创建post端点 (3)创建put/patch端点 (4)创建delete端点 2.启用超媒体 3.消费REST端点 3.1使用RestTemp ...

  3. yaml文件详解

    一.yaml文件详解 前言 Kubernetes 支持 YAML 和 JSON 格式管理资源对象JSON 格式:主要用于 api 接口之间消息的传递YAML 格式:用于配置和管理,YAML 是一种简洁 ...

  4. Spring Boot自动配置原理懂后轻松写一个自己的starter

    目前很多Spring项目的开发都会直接用到Spring Boot.因为Spring原生开发需要加太多的配置,而使用Spring Boot开发很容易上手,只需遵循Spring Boot开发的约定就行了, ...

  5. RabbitMQ 延迟消息实战

    RabbitMQ 延迟消息实战 现实生活中有一些场景需要延迟或在特定时间发送消息,例如智能热水器需要 30 分钟后打开,未支付的订单或发送短信.电子邮件和推送通知下午 2:00 开始的促销活动. Ra ...

  6. 【SDOI2015】寻宝游戏

    代码 (树链剖分) #include<cstdio> #include<set> using namespace std; typedef long long LL; cons ...

  7. sqlserver update join

    update a set a.UserAgent = b.UserAgent from InfoVisitDetails a inner join InfoVisitDetails b on a.IP ...

  8. Spring Cloud Stream 消息驱动

    屏蔽底层消息中间件的差异,降低切换成本 , 统一消息的编程模型. 通过定义绑定器Binder 作为中间件. 实现应用程序与消息中间件的细节之间的隔离. 消息发送端: <dependencies& ...

  9. Python elasticsearch 使用心得

    一.配置 python == 3.6/3.8 # 更高版本的elasticsearch会出现doc_type被统一成_doc导致旧版语句报错的情况 pip install elasticsearch= ...

  10. C++程序设计实验二 数组、指针与C++标准库

    Info.hpp文件源码 #include<iostream> #include<string> #include<iomanip> using namespace ...