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

命令坞
命令坞
命令坞
95
文章
2
评论
2020-05-1922:00:16 评论 401 1518字

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

Linux系统可以在启动时添加上众所周知的服务,而不会出现任何问题。

例如,如果要在启动时添加Apache Httpd 服务,则可以在chkconfig和systemctl命令的帮助下执行此操作。

有时您需要在启动时添加自定义脚本,命令或服务,以及如何执行此操作?

您可以使用以下三种方法执行此操作。

在本文中,我们将通过示例向您展示如何使用这些方法。

方法1:如何使用/etc/rc.d/rc.local文件在重新启动或启动时运行脚本或命令

传统上,“ /etc/rc.local ”文件是在切换到多用户运行级别的过程结束时启动所有正常的计算机服务之后执行的。

此方法也适用于systemd系统。

您需要将脚本的位置添加到“ /etc/rc.d/rc.local”文件中以在引导时运行。

确保文件具有运行权限。

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

为了证明这一点,我们将创建一个简单的示例脚本。您可以根据需要创建任何脚本。

# vi /opt/scripts/run-script-on-boot.sh      <--- 使用vi新建脚本文件

#!/bin/bash
date > /root/on-boot-output.txt
hostname > /root/on-boot-output.txt

脚本准备好后,设置可执行权限。

#chmod + x /opt/scripts/run-script-on-boot.sh

最后,将该脚本添加到文件底部。

# vi /etc/rc.d/rc.local

/opt/scripts/run-script-on-boot.sh

重新启动系统进行检查。

# reboot

方法2:如何使用crontab在重新启动或启动时执行命令或脚本

cron在特定时间在后端自动执行计划的作业。

这可以通过使用带有cron job的特殊字符串“ @reboot”轻松实现。

@reboot是一个特殊的字符串,它允许用户在启动时(启动时)运行任何命令或脚本。

此示例在系统重启时运行“ /opt/scripts/run-script-on-boot.sh”文件。

我们将使用与上面相同的脚本。

为此,只需在crontab文件中添加以下条目。

# crontab -e

@reboot /opt/scripts/run-script-on-boot.sh

重新启动系统进行检查。

# reboot

方法3:如何在重新启动或启动时使用systemd服务单元运行命令或脚本

此方法仅适用于systemd系统。此方法非常简单。

我们将使用上面相同的脚本进行演示。

为此,您需要创建一个systemd启动脚本并将其放置在“ /etc/systemd/system/ ”目录中。

这是我们的示例系统启动单元脚本。

# vi sample-on-boot-script.service

[Unit]
Description=Run a Custom Script at Startup
After=default.target

[Service]
ExecStart=/opt/scripts/run-script-on-boot.sh

[Install]
WantedBy=default.target

将单元脚本放置在systemd位置后,运行以下命令以更新systemd配置文件并启用服务。

# systemctl daemon-reload
# systemctl enable sample-on-boot-script.service

重新启动系统进行检查。

# reboot

温馨提示

如果要在后台运行脚本,则需要添加结尾的“&”符号。

/Path/To/My_Script &

如果要以其他用户身份运行命令,请使用以下格式。

su - $USER -c /Path/To/My_Script

 

命令坞
Linux Mint 20 发布前一窥 最新资讯

Linux Mint 20 发布前一窥

Ubuntu 20.04 LTS 版本发布了。这对 Linux Mint 用户来说也是一个好消息。一个新的 Ubuntu LTS 版本意味着新的 Linux Mint 主要版本也将很快随之出现。 为什...
使用 AppImage 进行 Linux 软件包管理 分享

使用 AppImage 进行 Linux 软件包管理

AppImage 在自足的环境中分发应用, 它适用于任何 Linux 发行版。 管理 Linux 机器(尤其是远程机器)的一个重要分就是管理和安装软件。当本地应用程序出现问题时,或者文件系统上的某些文...
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: