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

yizhihongxing

要在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日

相关文章

  • mybatis中foreach报错:_frch_item_0 not found的解决方法

    针对mybatis中foreach报错:“_frch_item_0 not found”的解决方法,我将提供以下完整攻略。 问题分析 通过对mybatis中foreach的使用进行分析,可以得出使用foreach时,需要保证以下几点: collection属性必须设置为可遍历的集合类型(比如List、Set等)。 item属性必须设置,不然会报错。 当col…

    database 2023年5月21日
    00
  • MySQL5.6.22安装配置方法图文教程

    以下是MySQL5.6.22安装配置方法图文教程的完整攻略: 准备工作 在开始安装之前,我们需要进行一些基本的准备工作。 系统要求 MySQL要求主机最低要求: CPU:Pentium III 或更高。 内存:256MB 或更高。 存储:500MB 或更高。 下载MySQL安装包 你可以从MySQL的官网上下载最新版本的MySQL安装包。下载地址:https…

    database 2023年5月22日
    00
  • 基于centos7快速安装mysql5.7教程解析

    以下是关于“基于CentOS 7快速安装MySQL 5.7教程解析”的完整攻略。 安装MySQL 5.7 第一步:添加MySQL 5.7 Yum源 首先,需要添加MySQL 5.7 Yum源,可以从MySQL官网获取。以下是添加MySQL 5.7 Yum源的示例: sudo wget https://repo.mysql.com/mysql57-commun…

    database 2023年5月22日
    00
  • sql server 2008 数据库管理系统使用SQL语句创建登录用户步骤详解

    下面我将详细讲解“SQL Server 2008 数据库管理系统使用SQL语句创建登录用户步骤详解”的完整攻略。 一、创建登陆账户的SQL语句格式 在SQL Server 2008中,创建登录账户的SQL语句格式如下: CREATE LOGIN 登录名 WITH PASSWORD = ‘登录密码’, DEFAULT_DATABASE = 默认数据库名, DE…

    database 2023年5月21日
    00
  • Linux下mysql的root密码修改方法

    下面是详细讲解“Linux下mysql的root密码修改方法”的完整攻略。 1. 前置条件 在修改MySQL密码之前,请确保已经安装了MySQL,并且已经用root用户登录MySQL。 2. 修改MySQL root密码的步骤 2.1 进入MySQL 首先,需要用管理员身份进入MySQL,可以使用如下命令: mysql -u root -p 其中,“-u r…

    database 2023年5月22日
    00
  • pm2 部署 node的三种方法示例

    “pm2 部署 node的三种方法示例”攻略如下: 1. 环境准备 在开始部署之前,需要准备以下环境: 已安装 Node.js,并确保 npm 版本是 6.0 以上 已全局安装 pm2:npm install pm2 -g 需要在 Linux 或者 macOS 环境中进行部署 2. 方法一:使用 pm2 monit pm2 的官方文档中提到了一种使用 pm2…

    database 2023年5月22日
    00
  • Ubuntu15下mysql5.6.25不支持中文的解决办法

    接下来我将为您详细讲解在Ubuntu15下mysql5.6.25不支持中文的解决办法。 确认问题 在开始解决问题之前,我们首先需要确认中文不支持的问题确实存在。最常见的表现就是中文的字符集显示出现乱码。这时候我们可以通过以下命令来检查当前mysql的字符集配置是否正确: mysql> show variables like ‘%character%’;…

    database 2023年5月22日
    00
  • Linux环境mysql5.7.12安装教程

    Linux环境mysql5.7.12安装教程 1. 安装MySQL 在Linux系统中,MySQL的安装可以采用包管理器的方式进行,也可以从MySQL官网下载安装包进行安装。 1.1. 采用包管理器进行安装 使用包管理器进行安装可以使安装过程更便捷,只需要执行一条命令即可完成安装。 在Ubuntu系统中,可以使用以下命令进行安装: sudo apt-get …

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