news 2026/5/3 20:23: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/4/27 20:47:21

碧蓝航线Alas脚本完整配置指南:从零开始的自动化游戏体验

碧蓝航线Alas脚本完整配置指南&#xff1a;从零开始的自动化游戏体验 【免费下载链接】AzurLaneAutoScript Azur Lane bot (CN/EN/JP/TW) 碧蓝航线脚本 | 无缝委托科研&#xff0c;全自动大世界 项目地址: https://gitcode.com/gh_mirrors/az/AzurLaneAutoScript 碧蓝航…

作者头像 李华
网站建设 2026/5/1 9:10:30

Qwen3-Embedding-4B实战:学术论文推荐系统搭建

Qwen3-Embedding-4B实战&#xff1a;学术论文推荐系统搭建 1. 技术背景与问题提出 在当前信息爆炸的时代&#xff0c;学术研究者面临海量论文的筛选难题。如何从数以万计的文献中快速定位相关研究成果&#xff0c;成为科研效率提升的关键瓶颈。传统基于关键词匹配的检索方式难…

作者头像 李华
网站建设 2026/5/1 12:05:56

LeagueAkari:解决英雄联盟玩家真实痛点的智能工具集

LeagueAkari&#xff1a;解决英雄联盟玩家真实痛点的智能工具集 【免费下载链接】LeagueAkari ✨兴趣使然的&#xff0c;功能全面的英雄联盟工具集。支持战绩查询、自动秒选等功能。基于 LCU API。 项目地址: https://gitcode.com/gh_mirrors/le/LeagueAkari 你有没有遇…

作者头像 李华
网站建设 2026/5/1 8:28:34

IQuest-Coder-V1电商场景应用:自动化脚本生成系统部署

IQuest-Coder-V1电商场景应用&#xff1a;自动化脚本生成系统部署 1. 引言&#xff1a;电商自动化脚本的工程挑战与AI破局 在现代电商平台中&#xff0c;日常运营涉及大量重复性、规则明确但实现复杂的任务&#xff0c;如商品信息同步、订单状态更新、库存校准、促销活动配置…

作者头像 李华
网站建设 2026/5/3 9:32:56

量子计算加速AI推理实战

&#x1f493; 博客主页&#xff1a;借口的CSDN主页 ⏩ 文章专栏&#xff1a;《热点资讯》 量子计算加速AI推理&#xff1a;从理论突破到实战落地的挑战与路径目录量子计算加速AI推理&#xff1a;从理论突破到实战落地的挑战与路径 引言&#xff1a;AI推理的瓶颈与量子计算的曙…

作者头像 李华
网站建设 2026/5/2 20:44:23

Multisim与Access数据库集成项目应用

让电路仿真“活”起来&#xff1a;用Access打通Multisim的数据任督二脉你有没有遇到过这种情况&#xff1f;一个项目做了十几版仿真&#xff0c;每版都改了几个电阻、换了点电容&#xff0c;结果回头对比性能时&#xff0c;只能靠翻文件夹里一堆命名混乱的.ms14文件&#xff0c…

作者头像 李华