news 2026/6/10 15:18:25

极速上手:5个命令完成整个开机脚本配置流程

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
极速上手:5个命令完成整个开机脚本配置流程

极速上手:5个命令完成整个开机脚本配置流程

在现代 Linux 系统中,自动化任务的启动管理是系统运维和应用部署的关键环节。传统的rc.local或 SysVinit 脚本方式虽然简单,但已逐渐被更强大、标准化的systemd所取代。本文将带你通过5 个核心命令,快速完成一个开机启动脚本的完整配置流程,适用于 Ubuntu、CentOS、Debian 等主流发行版。

文章聚焦于systemd方式——这是当前 Linux 发行版的标准服务管理机制,具备依赖控制、日志集成、自动重启等高级功能,适合生产环境使用。


1. 准备启动脚本并设置权限

首先,我们需要编写一个将在系统启动时执行的脚本,并确保其具备可执行权限。

1.1 创建脚本文件

我们将脚本放置在/usr/local/bin/目录下,这是一个推荐用于本地自定义脚本的位置。

sudo tee /usr/local/bin/my_startup_script.sh > /dev/null << 'EOF' #!/bin/bash # 简单的开机启动测试脚本 LOG_FILE="/var/log/my_startup_script.log" echo "$(date): 开机脚本开始执行" >> $LOG_FILE # 在此处添加你的实际命令 # 示例:启动某个后台服务或初始化任务 echo "$(date): 开机脚本执行完毕" >> $LOG_FILE exit 0 EOF

该脚本会在系统启动时记录时间戳到日志文件,便于后续验证是否成功运行。

1.2 设置执行权限

Linux 要求脚本具有执行权限才能被调用:

sudo chmod +x /usr/local/bin/my_startup_script.sh

重要提示:务必使用绝对路径调用命令(如/bin/echo),因为系统启动时的环境变量可能不完整。


2. 创建 systemd 服务单元文件

systemd使用.service单元文件来定义如何运行和管理服务。我们创建一个简洁的服务配置,使其在多用户模式下随系统启动。

执行以下命令创建服务文件:

sudo tee /etc/systemd/system/my_script.service > /dev/null << 'EOF' [Unit] Description=我的开机启动脚本 After=network.target network-online.target [Service] Type=oneshot ExecStart=/usr/local/bin/my_startup_script.sh RemainAfterExit=yes User=root [Install] WantedBy=multi-user.target EOF

2.1 配置项解析

  • After=network.target: 表示该服务在网络服务启动后运行,适用于需要网络连接的任务。
  • Type=oneshot: 适用于一次性执行的脚本,执行完成后即退出,不会作为守护进程持续运行。
  • RemainAfterExit=yes: 告诉systemd即使进程退出,服务状态仍视为“激活”。
  • User=root: 指定以 root 用户身份运行(根据需求可改为普通用户)。
  • WantedBy=multi-user.target: 表示在标准多用户文本模式下启用此服务。

3. 重载 systemd 配置并启用服务

此时,新的服务单元文件已被写入系统目录,但systemd尚未加载它。我们需要通知systemd重新读取所有配置。

sudo systemctl daemon-reload

这一步是必须的,否则后续操作会失败。

接着,启用服务以实现开机自启:

sudo systemctl enable my_script.service

输出应为:

Created symlink /etc/systemd/system/multi-user.target.wants/my_script.service → /etc/systemd/system/my_script.service.

表示已成功创建符号链接,服务将在下次启动时自动运行。


4. 立即启动服务进行测试

为了避免等待重启来验证效果,我们可以手动立即启动该服务:

sudo systemctl start my_script.service

然后检查其运行状态:

sudo systemctl status my_script.service

正常输出应包含:

● my_script.service - 我的开机启动脚本 Loaded: loaded (/etc/systemd/system/my_script.service; enabled; vendor preset: enabled) Active: active (exited) since ...

如果显示active (exited),说明脚本已成功执行。


5. 查看日志确认执行结果

最后一步是验证脚本内容是否真正被执行。由于我们在脚本中指定了日志路径,可以直接查看日志文件:

cat /var/log/my_startup_script.log

预期输出类似:

Mon Apr 5 10:00:00 UTC 2025: 开机脚本开始执行 Mon Apr 5 10:00:00 UTC 2025: 开机脚本执行完毕

此外,也可以使用journalctl查看systemd捕获的标准输出(如果有):

sudo journalctl -u my_script.service --since "1 hour ago"

6. 总结

通过以上5 个命令,我们完成了从脚本创建到开机自启的全流程配置:

  1. tee /usr/local/bin/...—— 创建并写入脚本
  2. chmod +x ...—— 赋予执行权限
  3. tee /etc/systemd/system/...—— 定义 systemd 服务
  4. systemctl daemon-reload && enable—— 加载配置并启用开机启动
  5. startstatus—— 测试运行与状态检查

这套方法基于systemd,具备高可靠性、良好的日志支持和灵活的依赖管理能力,是现代 Linux 系统中最推荐的开机脚本配置方式。

实践建议

  • 避免使用root运行非必要脚本:若无需特权操作,请创建专用用户并在User=中指定。
  • 始终记录日志:无论是重定向输出还是使用logger,日志是排查问题的核心依据。
  • 测试先行:每次修改后都应手动startstatus验证,再考虑重启系统。

掌握这一流程后,你可以轻松将 Python 脚本、Node.js 应用、Docker 容器初始化等任务集成进系统启动过程,实现真正的无人值守部署。


获取更多AI镜像

想探索更多AI镜像和应用场景?访问 CSDN星图镜像广场,提供丰富的预置镜像,覆盖大模型推理、图像生成、视频生成、模型微调等多个领域,支持一键部署。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/10 11:43:23

HID设备识别原理:操作系统视角入门讲解

从插入到识别&#xff1a;HID设备是如何被操作系统“认出来”的&#xff1f;你有没有想过&#xff0c;当你把一个USB鼠标插进电脑时&#xff0c;系统是怎么立刻知道“这是个输入设备”、并让它开始工作的&#xff1f;既不需要安装驱动&#xff08;大多数情况下&#xff09;&…

作者头像 李华
网站建设 2026/6/10 13:42:55

Paraformer-large入门必看:零基础实现中文语音识别Web应用

Paraformer-large入门必看&#xff1a;零基础实现中文语音识别Web应用 1. 背景与应用场景 随着语音交互技术的普及&#xff0c;自动语音识别&#xff08;ASR&#xff09;已成为智能客服、会议记录、教育辅助等场景的核心能力。然而&#xff0c;许多开发者在落地过程中面临模型…

作者头像 李华
网站建设 2026/6/10 11:41:40

AI智能二维码工坊实战:停车场管理二维码应用

AI智能二维码工坊实战&#xff1a;停车场管理二维码应用 1. 引言 1.1 停车场管理的数字化痛点 在传统停车场运营中&#xff0c;车辆进出登记、计费、权限控制等环节长期依赖人工操作或简单的刷卡系统。这种方式不仅效率低下&#xff0c;还容易出现冒用卡、记录丢失、高峰期拥…

作者头像 李华
网站建设 2026/6/10 11:20:02

OpenDataLab MinerU实战:法律文书解析与摘要生成

OpenDataLab MinerU实战&#xff1a;法律文书解析与摘要生成 1. 技术背景与应用场景 在司法信息化和智能法律服务快速发展的背景下&#xff0c;法律文书的自动化处理成为提升司法效率的关键环节。传统的法律文书如判决书、起诉书、合同文件等通常以PDF或扫描图像形式存在&…

作者头像 李华
网站建设 2026/6/10 11:16:56

一文说清Proteus仿真软件的电路图设计流程

让电路“活”起来&#xff1a;手把手带你跑通Proteus仿真全流程你有没有过这样的经历&#xff1f;手头没有开发板&#xff0c;却急着验证一段单片机代码&#xff1b;或者刚画完一张原理图&#xff0c;心里没底——到底是哪里漏接了地线&#xff1f;电源会不会短路&#xff1f;如…

作者头像 李华
网站建设 2026/6/10 11:20:13

英雄联盟玩家必看:LeagueAkari插件5大实用功能深度解析

英雄联盟玩家必看&#xff1a;LeagueAkari插件5大实用功能深度解析 【免费下载链接】LeagueAkari ✨兴趣使然的&#xff0c;功能全面的英雄联盟工具集。支持战绩查询、自动秒选等功能。基于 LCU API。 项目地址: https://gitcode.com/gh_mirrors/le/LeagueAkari 还在为繁…

作者头像 李华