在工作中,我们往往须要个别脚本在系统启动时手动执行,或则在Linux环境下启动一些服务。其实Windows提供了多种方法来处理这些情况,但Linux下该怎样实现呢?接出来,我们将介绍三种常用的Linux开机启动运行方式,供您参考。

01Linux开机脚本执行方式

rc.local形式

描述怎样通过更改/etc/rc.d/rc.local文件实现开机手动执行脚本的方式,包括赋于文件可执行权限和脚本编撰与添加。更改/etc/rc.d/rc.local文件是Linux系统中一个用于用户自定义开机启动程序的配置文件。通过编辑该文件,您可以添加须要在系统启动时执行的命令或脚本。

1、赋予rc.local文件可执行权限

在Linux系统中,要使/etc/rc.d/rc.local文件才能被系统在启动时执行,须要先为其赋于可执行权限。可以通过执行以下命令来实现:

“`bash

chmod+x/etc/rc.d/rc.local

“`

这样,系统在启动时才会手动读取并执行该文件中的命令或脚本了。

2、编写待执行的脚本

linux 执行脚本_rc.local开机脚本执行_Linux开机启动脚本方法

首先,创建一个新的脚本文件,比如在/home目录下创建一个名为test.sh的文件。之后linux 执行脚本,使用文本编辑器打开该文件,并输入以下内容:

“`bash

!/bin/bash

echo”helloworld”>>/home/out.txt

date>>/home/out.txt

“`

这段脚本的功能是:在启动时执行linux手机软件,向/home/out.txt文件中追加一行文本“helloworld”,再追加当前日期。注意,脚本的第一行“#!/bin/bash”指定了使用bashshell来解释执行该脚本。

完成脚本编撰后,保存并关掉文件。接出来,就可以将该脚本添加到rc.local文件中,便于在系统启动时手动执行了。

3、赋予脚本执行权限

使用chmod命令为脚本添加执行权限。在终端中输入以下命令:

“`bash

Linux开机启动脚本方法_rc.local开机脚本执行_linux 执行脚本

chmod+x/home/test.sh

“`

这条命令将为/home/test.sh脚本添加执行权限,使其显得可执行。

4、将脚本添加到/etc/rc.d/rc.local文件的末尾

使用cat命令查看/etc/rc.d/rc.local文件的当前内容,确保你的脚本路径早已添加到该文件的末尾。诸如:

“`bash

echo”/home/test.sh”>>/etc/rc.d/rc.local

“`

这条命令将把”/home/test.sh”路径追加到/etc/rc.d/rc.local文件的末尾,确保在系统启动时才能执行该脚本。

5、重启系统以激活修改

Linux开机启动脚本方法_linux 执行脚本_rc.local开机脚本执行

重启系统后,你的脚本将开始在系统启动时手动执行。为了验证这一点,你可以根据以下步骤进行操作:

6、查看日志文件以确认脚本执行情况

使用cat命令查看特定日志文件,比如/home/out.txt,以确认你的脚本是否已成功执行。在上述示例中,我们期望见到类似于”helloworld”和”ThuDec”的输出,这表明脚本已正确运行。

linux 执行脚本_rc.local开机脚本执行_Linux开机启动脚本方法

关于/etc/rc.d/rc.local的执行时机,详尽说明如下:

crontab形式

借助crontab命令创建一个@reboot任务,使其在系统重启时手动执行。crond是Linux系统下用于周期性执行任务或处理风波的守护进程linux 执行脚本,类似于Windows的计划任务。在操作系统安装完成后,crond服务一般会被默认安装并手动启动。该进程会定期(如每分钟)检测是否存在待执行的任务,一旦发觉,便会手动进行处理。

为此,我们可以通过crontab命令来创建一个任务,使其在系统重启时手动执行。具体操作如下:

首先linux主机,输入crontab-e命令步入编辑模式。接着,在编辑框中输入类似下边的内容:

“`

重启设备

@rebootreboot

查看日志

@rebootcat/home/out.txt

“`

这样,当系统重启时,上述任务都会被手动触发执行。

系统服务形式

系统服务实现

介绍通过将任务配置为系统服务实现开机手动执行,指出其复杂性。不仅使用crontab命令创建周期性任务外,还可以通过系统服务的形式来实现手动执行。具体来说,就是将须要执行的任务编撰成脚本或程序,并将其设置为系统服务。这样,在系统启动时,该服务会手动启动并执行相应的任务。

须要注意的是,这些方法相对复杂一些,须要对Linux系统服务管理有一定的了解。但通过合理配置,同样可以实现系统重启时手动执行任务的需求。

systemd服务

linux 执行脚本_rc.local开机脚本执行_Linux开机启动脚本方法

描述通过创建systemd服务单元文件以实现开机手动执行任务的方式,详尽涉及unit、service和install区块的作用。Systemd服务,以.service结尾的单元(unit)配置文件,是用于控制由Systemd管理或监视的进程的重要工具。这种服务一般以守护进程(daemon)的方式在后台运行程序。

systemd服务文件通常储存在/etc/systemd/system/目录中。创建一个新的服务,你须要在该目录下创建一个以.service结尾的文件,并定义其启动次序、依赖关系以及启动命令等。

以下是一个创建service文件的示例:

Unit区块用于定义服务的启动次序和依赖关系。Description数组用于给出服务的简单描述。

Service区块则详尽定义了怎样启动当前服务。ExecStart数组指定了启动进程时执行的命令。

Install区块定义了怎样安装这个配置文件,即怎样实现开机启动。WantedBy数组表示该服务所在的Target,Target是一组服务的集合。

创建并配置好服务文件后,须要使用systemctl命令更新服务配置并使能该服务。最后,重启系统以验证服务的手动执行疗效。

请注意,systemd服务的管理和配置相对复杂,须要对Linux系统有一定的了解。但是,通过合理配置,它可以有效地满足系统重启时手动执行任务的需求。

Linux开机启动脚本方法_linux 执行脚本_rc.local开机脚本执行

Tagged:
Author

这篇优质的内容由TA贡献而来

刘遄

《Linux就该这么学》书籍作者,RHCA认证架构师,教育学(计算机专业硕士)。

发表回复