news 2026/6/15 15:10:42

极速上手: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/15 13:42:51

Qwen如何避免404错误?权重文件风险规避部署指南

Qwen如何避免404错误&#xff1f;权重文件风险规避部署指南 1. 引言 1.1 业务场景描述 在AI模型的实际部署过程中&#xff0c;开发者常常面临一个令人头疼的问题&#xff1a;模型权重文件无法下载或链接失效&#xff08;404&#xff09;。尤其是在使用第三方平台提供的模型时…

作者头像 李华
网站建设 2026/6/15 15:01:46

RePKG工具使用指南:轻松解锁Wallpaper Engine壁纸资源

RePKG工具使用指南&#xff1a;轻松解锁Wallpaper Engine壁纸资源 【免费下载链接】repkg Wallpaper engine PKG extractor/TEX to image converter 项目地址: https://gitcode.com/gh_mirrors/re/repkg RePKG是一款专为Wallpaper Engine设计的强大资源处理工具&#xf…

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

阿里图片旋转模型微调教程:适配特定领域图像数据

阿里图片旋转模型微调教程&#xff1a;适配特定领域图像数据 1. 图片旋转判断的技术背景与应用价值 在实际的图像处理场景中&#xff0c;图片的方向问题是一个常见但不可忽视的挑战。尤其是在文档扫描、医疗影像、工业检测和移动端拍照等应用中&#xff0c;图像可能以任意角度…

作者头像 李华
网站建设 2026/6/13 14:58:51

AutoGLM-Phone-9B部署实战|手把手教你30分钟搭建移动端多模态推理服务

AutoGLM-Phone-9B部署实战&#xff5c;手把手教你30分钟搭建移动端多模态推理服务 1. 引言&#xff1a;为什么需要移动端多模态推理&#xff1f; 随着AI大模型在消费级设备上的广泛应用&#xff0c;如何在资源受限的移动终端实现高效、低延迟的多模态推理成为关键挑战。传统的…

作者头像 李华
网站建设 2026/6/15 13:49:02

5分钟部署YOLOv13,官版镜像让目标检测快速上手

5分钟部署YOLOv13&#xff0c;官版镜像让目标检测快速上手 在自动驾驶感知系统实时识别行人、工业质检平台精准定位缺陷、智能安防设备全天候监控异常行为的今天&#xff0c;目标检测技术早已从实验室走向千行百业。而作为该领域最具影响力的算法系列之一&#xff0c;YOLO&…

作者头像 李华
网站建设 2026/6/6 6:05:52

碧蓝航线Alas脚本终极指南:一键解放双手的全自动游戏方案

碧蓝航线Alas脚本终极指南&#xff1a;一键解放双手的全自动游戏方案 【免费下载链接】AzurLaneAutoScript Azur Lane bot (CN/EN/JP/TW) 碧蓝航线脚本 | 无缝委托科研&#xff0c;全自动大世界 项目地址: https://gitcode.com/gh_mirrors/az/AzurLaneAutoScript 在快节…

作者头像 李华