如何在Linux启动时执行脚本? (linux 启动时执行脚本)

在Linux中,有时候我们需要在系统启动时自动执行一些脚本,这些脚本可以包括自动运行某些程序、挂载某些设备、做一些初始化操作等等。那么如何在Linux启动时执行脚本呢?下面将从几个方面来介绍。

一、使用/etc/rc.local文件

在 Linux 中,有一个 /etc/rc.local 文件,该文件用于在系统启动时自动执行命令或脚本。我们可以将需要在启动时执行的脚本放在 /etc/rc.local 文件中,并且需要确保文件有可执行权限。

若要添加一个需要在启动时执行的脚本,可以采用以下步骤:

1. 打开终端窗口并输入以下命令打开 /etc/rc.local 文件:

sudo nano /etc/rc.local

2. 在文件中添加需要执行的命令或脚本。

例如,我们可以添加以下命令:

#!/bin/sh

/path/to/your/script

exit 0

其中,#!/bin/sh是脚本标记,/path/to/your/script是需要在启动时运行的脚本的路径。

3. 保存更改并关闭文件。

4. 然后,为了确保 /etc/rc.local 文件拥有可执行权限,可以使用以下命令:

sudo chmod +x /etc/rc.local

二、使用/etc/init.d/目录中的脚本

在 Linux 中,/etc/init.d/ 目录中存放着许多系统服务和应用程序的启动脚本。我们可以在此处添加自己的脚本,这样可以确保脚本在系统启动时自动运行。

如果你想要在系统启动时运行自己的脚本,可以采用以下步骤:

1. 创建一个新的脚本文件,并将其放置在 /etc/init.d/ 目录中。

例如,我们可以创建名为 myscript.sh 的脚本文件,然后将其放在 /etc/init.d/ 目录中。

2. 确保脚本拥有可执行权限。

可以使用以下命令为脚本添加可执行权限:

sudo chmod +x /etc/init.d/myscript.sh

3. 创建一个符号链接至 /etc/rc.d/ 目录中的 rc.local 文件。

我们可以使用以下命令为脚本创建符号链接:

sudo ln -s /etc/init.d/myscript.sh /etc/rc.d/rc.local

三、使用systemd服务

systemd 服务是 Linux 系统启动的新标准,它是一个基于事件的初始化系统和服务管理器,可以自动管理系统和服务的启动和自动运行。我们可以使用 systemd 服务来配置需要在系统启动时自动运行的脚本。

如果你想要使用 systemd 服务,在 Linux 中做到这一点,则需要执行以下步骤:

1. 创建一个新的 systemd 服务文件,并将其存储在 /etc/systemd/system/ 目录中。

例如,我们可以创建名为 myscript.service 的文件,并将其存储在 /etc/systemd/system/ 目录中。

2. 在 /etc/systemd/system/myscript.service 文件中添加以下内容:

[Unit]

Description=myscript

Wants=network-online.target

After=network-online.target

[Service]

ExecStart=/path/to/your/script

Restart=always

StandardOutput=syslog

StandardError=syslog

SyslogIdentifier=myscript

[Install]

WantedBy=multi-user.target

其中,Description=myscript 是服务的名称,/path/to/your/script 是需要在启动时运行的脚本的路径。

3. 保存文件并退出。

4. 运行以下命令以重新加载 systemd 服务,并启动新的 myscript 服务:

sudo systemctl daemon-reload

sudo systemctl start myscript

5. 如果您希望在系统启动时启用该服务,请使用以下命令:

sudo systemctl enable myscript

以上就是使用三种不同方式在 Linux 启动时执行脚本的方法,你可以选择按照自己的需求进行选择。此外,还有一些其他的方法,如使用 cron,通过编辑系统文件等。只要你掌握了这些技巧,你就能够在 Linux 系统启动时自动运行你的脚本。

相关问题拓展阅读:

linux 如何开机自动运行sh脚本

要开机 运行只需将它加入到 rc.local ,一般为/etc/rc.d/rc.local 在其中加入以下行

.sh

/path/to/test.sh使用linux

全局变量

$?可以确定是否执行,如if the,echo “succeed!fi。

linux中设厅亮并置自动启动可以编辑/etc/rc.d/rc.local文件,使用vim在/etc/rc.d/rc.local添加你需要启动的内容即可。

rc.local在在系统扮迹启动后执行,在用户登陆前执行。rc.local脚本是一个在各运行级别里到rc.d目录的rc.local脚本的软链接,编号更大,所以被rc脚本执行时在各运行级别的初始化末尾进行。

在rc.local里设置是系统级别而非用户级别,因为启动脚本的初始化与用户无关(启动脚本初始化完成键镇后,才进入用户登录界面)。与用户相关的设置shell的

配置文件

如: ~/.bash_profile。

楼上的已经说清楚了,修改/etc/轿孝局rc.d/rc.local文件,在慎者里面加入你要添加启闭让动的sh就可以了。

在有就是做到可以在用户登录的时候启动sh文件,那就是修改用户的环境配置文件,如果.bashrc

,.profile等文件。

要开机 运行只需将它闹衡加入到 rc.local ,一般为/etc/rc.d/rc.local 在其中加入以下行:

sh /path/to/test.sh

使用linux全局变量$?可以确定是否执行,如

if

    then

 册弯首 echo “succeed!”

州数 fi

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

你好,

1,root权限编辑/etc/rc.d/rc.local

添加执迅正行脚本的命令

2,或者把你或穗的亩团悔脚本放在/etc/rc.d/下

Linux 开机(脚本)启动顺序

Linux 使用的埋昌是基于运行级( run-levels )概念的称为 SysVinit 的专用启动工具。 它在不同的系统上可能是完全不一样的, 所以不能认为一个脚本在某个 Linux 发行版上工作正常。

SysVinit 以运行级的模式来工作,一般有 7 (从 0 到 6)个运行级 (实际上可以有更多的运行级,但都是用于特殊情况而且一般使用不到。 参见 init(8)以获得更多信息),每个运行级对应于一套设定好的任务, 当启动一个运行级的时候, 计算机就需要执行相应的任务。

默认的运行级是 3,下面是对不同运行级的描述:

可以使用 runlevel 命令查看:

也贺好可以在 /etc/inittab 文件中看到以下:

也就是说我们系统的运行级别目前是3,那么需要看的就是 /禅液铅etc/rc3.d 下的内容,其实里面都是软连接,所有的软链指向 /etc/init.d/ 中的脚本文件,命名规范如下:

因此我们如果需要定义一个服务启动的优先级(顺序),则需指定脚本的 number 即可。

linux 启动时执行脚本的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于linux 启动时执行脚本,如何在Linux启动时执行脚本?,linux 如何开机自动运行sh脚本,如何在Linux启动时自动执行命令或脚本,Linux 开机(脚本)启动顺序的信息别忘了在本站进行查找喔。


数据运维技术 » 如何在Linux启动时执行脚本? (linux 启动时执行脚本)