详解如何在 Linux 启动时自动执行命令或脚本

要在Linux启动时自动执行命令或脚本,主要有以下两种方法:

方法一:使用/etc/rc.local文件

  1. 编写需要自动执行的脚本

在本地目录编写需要自动执行的脚本,例如创建一个名为test.sh的脚本,内容如下:

#!/bin/bash
echo "hello world"
  1. 将脚本拷贝到/etc目录下

将编写好的脚本拷贝到/etc目录下,例如执行下列命令:

sudo cp test.sh /etc/
  1. 修改/etc/rc.local文件

在/etc/rc.local文件中添加需要执行的脚本,执行下列命令打开rc.local文件:

sudo vim /etc/rc.local

在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.

# 自动执行test.sh脚本
sh /etc/test.sh

exit 0
  1. 重启Linux系统

执行下列命令重启Linux系统:

sudo reboot

完成以上操作后,在Linux系统启动时会自动执行/etc/rc.local文件中指定的脚本,即执行test.sh脚本并输出"hello world"。

方法二:使用systemd服务

  1. 编写需要自动执行的脚本

在本地目录编写需要自动执行的脚本,例如创建一个名为test.sh的脚本,内容如下:

#!/bin/bash
echo "hello world"
  1. 编写systemd服务文件

在本地目录下编写systemd服务文件,例如创建一个名为test.service的文件,内容如下:

[Unit]
Description=Test Service

[Service]
ExecStart=/etc/test.sh

[Install]
WantedBy=multi-user.target
  1. 将服务文件拷贝到/etc/systemd/system目录下

将编写好的服务文件拷贝到/etc/systemd/system目录下,执行下列命令:

sudo cp test.service /etc/systemd/system/
  1. 重加载systemd服务

在Linux系统中执行下列命令来重载systemd服务:

sudo systemctl daemon-reload
  1. 启动systemd服务并设置开机启动

执行下列命令启动systemd服务并设置开机启动:

sudo systemctl start test
sudo systemctl enable test
  1. 重启Linux系统

执行下列命令重启Linux系统:

sudo reboot

完成以上操作后,在Linux系统启动时会自动执行systemd服务中指定的脚本,即执行test.sh脚本并输出"hello world"。

以上两种方法都可以在Linux启动时自动执行命令或脚本,具体选择哪一种方法可以根据实际需求进行选择。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:详解如何在 Linux 启动时自动执行命令或脚本 - Python技术站

(0)
上一篇 2023年5月22日
下一篇 2023年5月22日

相关文章

  • Hadoop和SQL的区别

    Hadoop和SQL是两个非常流行的数据处理工具,尽管它们都可以用来处理大型数据集,但它们有一些主要的区别。以下是详细讲解Hadoop和SQL的区别的完整攻略。 Hadoop VS SQL 1. 工作范围 Hadoop是一个分布式的大数据处理框架,可以将数据分解成许多块,然后并行在集群中进行处理。它可以处理非结构化和半结构化数据,并使用HDFS(Hadoop…

    database 2023年3月27日
    00
  • PHP ADODB生成HTML表格函数rs2html功能【附错误处理函数用法】

    PHP ADODB是一个轻量级数据库抽象层,可以让我们在不同的数据库系统中使用相同的API进行交互,从而简化了我们的开发过程。rs2html是PHP ADODB提供的一个函数,用于将从数据库中查询到的结果集生成对应的HTML表格。下面将详细讲解rs2html的使用方法和错误处理函数用法。 1. 使用rs2html生成HTML表格 使用rs2html生成HTM…

    database 2023年5月21日
    00
  • redis哨兵集群配置

    redis 集群架构图:   需要先配置redis主从,我这边是单机部署的。 采用一主一从,两个sentinel。 redis host: 172.31.11.235 redis-master port: 6380  sentinel1: 26380 redis-slave port: 6381 sentinel2: 26381 redis master r…

    Redis 2023年4月13日
    00
  • SQL触发器定义与使用

    下面是关于SQL触发器定义与使用的完整攻略。 什么是SQL触发器? SQL触发器是一种自动执行的数据库程序,它与特定表格相关联。当特定事件发生时,如INSERT、UPDATE或DELETE操作,在SQL触发器的帮助下,都可以实现自动执行特定操作。SQL触发器定义可以简化应用程序的代码,并提高数据的一致性和完整性。 SQL触发器定义 SQL触发器可以分为以下几…

    database 2023年5月22日
    00
  • Mongodb 如何将时间戳转换为年月日日期

    将Mongodb中的时间戳转换为年月日日期,可以使用Mongodb的Aggregation框架对时间戳进行转换。下面是一个完整的攻略: 步骤一:通过Aggregation框架进行日期转换 在Mongodb的Aggregation框架中,可以使用$project和$dateToString管道操作符来进行日期转换。在使用$project操作符时,需要指定输出字…

    database 2023年5月21日
    00
  • Centos7 安装 redis4.x

    一、安装redis 第一步:下载redis安装包 wget http://download.redis.io/releases/redis-4.0.6.tar.gz [root@iZwz991stxdwj560bfmadtZ local]# wget http://download.redis.io/releases/redis-4.0.6.tar.gz -…

    Redis 2023年4月11日
    00
  • SQL 多维度聚合运算

    SQL 多维度聚合运算是将数据根据不同维度进行分类,然后计算每个分类下的汇总值或统计指标,常见的聚合运算包括 COUNT、SUM、AVG、MIN、MAX等。 下面介绍 SQL 多维度聚合运算的完整攻略: 1. GROUP BY子句 GROUP BY子句用于将查询结果按照一个或多个列进行分组,以便对每个组进行聚合运算。例如,我们有一个 orders 表,包含了…

    database 2023年3月27日
    00
  • 解决mysql:ERROR 1045 (28000): Access denied for user ‘root’@’localhost’ (using password: NO/YES)

    当我们在使用Mysql的时候,有可能会出现ERROR 1045 (28000)这样的错误,这个错误一般是由于用户没有足够的权限或者输入的密码有误所引起的。下面是一个完整的攻略,能够帮助读者解决这个问题。 1. 检查本地是否有安装mysql client 首先,我们需要确认一下本机是否安装了Mysql客户端,在命令行中执行以下命令: mysql -V 如果出现…

    database 2023年5月18日
    00
合作推广
合作推广
分享本页
返回顶部