在 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. 计算机网络基础02-Internet结构,网络核心的数据交换,计算机网络性能几个参数

    1 计算机网络的结构 1.1 网路边缘 主机.应用(软件.网站) 1.2 接入网络 1.3 网络核心 转发设备,路由器.交换机.关键功能就是路由+转发达到数据交换. 2 Internet的结构 2.1 ...

  2. mybatis学习日记2

    1.mybatis中的连接池 配置的位置:  主配置文件SqlMapConfig.xml中的dataSource标签,type属性就是用来表示采用何种连接方式 mybatis连接池提供了3种方式的配置 ...

  3. E - 树状数组 1【GDUT_22级寒假训练专题五】

    E - 树状数组 1 原题链接 题意 已知一个数列,你需要进行下面两种操作: 将某一个数加上 \(x\) 求出某区间每一个数的和 lowbit函数 定义一个函数\(f=lowbit(x)\),这个函数 ...

  4. 你想知道的do{...}while(0)的作用,都在这里了

    0.引言         我们在嵌入式开发的过程中,经常可以碰到在一些宏定义或者是代码段中使用了do {...} while(0)的语句,从语义上理解,do {...} while(0)内的逻辑就只执 ...

  5. SP2416 DSUBSEQ - Distinct Subsequences

    题意 求本质不同的子串个数(包括空串) 思路 序列自动机裸题 直接上代码 \(Code\) #include<cstdio> #include<cstring> using n ...

  6. CF1736C1 Good Subarrays (Easy Version)

    题目传送门 思路 给出一种不需要脑子的做法. 首先我们把每个 \(a_i\) 都减去 \(i\),这样原问题就转化为对于每一个左端点 \(i\),寻找一段连续的区间,使得这段区间的最小值加上 \(i- ...

  7. PDO使用返回结果集的方法输出数据库里面的单个值

    1 <?php 2 header('content-type:text/html; charset=utf-8'); 3 /* 通过调用驱动程序创建一个PDO实例 */ 4 $dsn = 'my ...

  8. Bulldog

    Bulldog 目录 Bulldog 1 信息收集 1.1 端口扫描 1.2 后台目录扫描 1.2.1 目录分析 2 Web-Shell利用 2.1 尝试命令执行 2.2 尝试利用系统命令注入 2.3 ...

  9. Vue框架整理:computed计算属性设置与缓存

    简单的一些小计算可以直接用模板内的表达式计算,比较复杂一点的就建议使用"计算属性来运算了",也方便后期的维护:vue所有的计算属性都以函数的形式写在Vue实例内的computed里 ...

  10. c++_成员函数回调

    //--------------------------------------------------------------------------- #include <vcl.h> ...