0

0

LINUX如何设置开机自启动脚本_LINUX设置开机自启服务的多种方法

穿越時空

穿越時空

发布时间:2025-09-27 14:46:01

|

449人浏览过

|

来源于php中文网

原创

答案:可通过systemd服务、rc.local、cron@reboot或SysV init实现Ubuntu开机自启动。首先推荐使用systemd创建.service文件,精确控制启动行为;其次可编辑/etc/rc.local添加脚本路径并确保其可执行;也可用crontab -e配置@reboot任务,适用于用户级程序;最后兼容旧系统可将脚本放入/etc/init.d并用update-rc.d注册。

linux如何设置开机自启动脚本_linux设置开机自启服务的多种方法

如果您希望在系统启动时自动运行特定任务或程序,可以通过配置开机自启动来实现。这在需要自动化部署服务、监控脚本或环境初始化时非常有用。

本文运行环境:联想ThinkPad E14,Ubuntu 22.04

一、使用systemd创建自定义服务

systemd是现代Linux发行版中广泛使用的系统和服务管理器,通过创建自定义.service文件可以精确控制脚本的启动时机和运行环境。

1、使用文本编辑器创建一个新的systemd服务文件:sudo nano /etc/systemd/system/mystartup.service

2、在文件中输入以下内容,根据实际需求修改Description、ExecStart和User字段:

[Unit]

Description=Custom Startup Script

After=network.target

[Service]

Type=simple

ExecStart=/path/to/your/script.sh

User=your-username

Restart=no

[Install]

WantedBy=multi-user.target

3、保存并关闭文件后,启用该服务以使其在开机时启动:sudo systemctl enable mystartup.service

4、可选:立即启动服务进行测试:sudo systemctl start mystartup.service

Nimo.space
Nimo.space

智能画布式AI工作台

下载

二、将脚本添加到/etc/rc.local

/etc/rc.local 是一个传统的启动脚本,在系统初始化完成前执行其中的命令,适用于简单且兼容性要求高的场景。

1、确认系统中存在rc-local服务并已启用,若无则需手动创建或激活。

2、编辑rc.local文件:sudo nano /etc/rc.local

3、在exit 0语句之前添加要执行的脚本路径,例如:/home/user/myscript.sh &,注意末尾的&符号用于防止阻塞后续启动流程。

4、确保/etc/rc.local文件具有可执行权限:sudo chmod +x /etc/rc.local

三、利用cron的@reboot特性

cron不仅可用于定时任务,还支持@reboot关键字,表示仅在系统重启后运行一次,适合用户级脚本的自启配置。

1、为当前用户编辑cron任务表:crontab -e

2、在打开的编辑器中添加新行:@reboot /path/to/your/script.sh

3、保存退出后,cron会自动加载新的任务规则,无需额外启用操作。

4、如需以root身份运行脚本,则应使用 sudo crontab -e 并在此中添加相应指令。

四、放置脚本至/etc/init.d并注册为SysV服务

SysV init是较早的初始化系统,尽管逐渐被systemd取代,但在部分环境中仍有效,可通过标准接口注册启动脚本。

1、将启动脚本复制到/etc/init.d目录下:sudo cp myscript.sh /etc/init.d/myscript

2、赋予脚本可执行权限:sudo chmod +x /etc/init.d/myscript

3、添加必要的LSB注释头(如### BEGIN INIT INFO)以便chkconfig或update-rc.d识别。

4、使用命令 sudo update-rc.d myscript defaults 将其注册为开机启动服务。

相关专题

更多
硬盘接口类型介绍
硬盘接口类型介绍

硬盘接口类型有IDE、SATA、SCSI、Fibre Channel、USB、eSATA、mSATA、PCIe等等。详细介绍:1、IDE接口是一种并行接口,主要用于连接硬盘和光驱等设备,它主要有两种类型:ATA和ATAPI,IDE接口已经逐渐被SATA接口;2、SATA接口是一种串行接口,相较于IDE接口,它具有更高的传输速度、更低的功耗和更小的体积;3、SCSI接口等等。

1024

2023.10.19

PHP接口编写教程
PHP接口编写教程

本专题整合了PHP接口编写教程,阅读专题下面的文章了解更多详细内容。

66

2025.10.17

php8.4实现接口限流的教程
php8.4实现接口限流的教程

PHP8.4本身不内置限流功能,需借助Redis(令牌桶)或Swoole(漏桶)实现;文件锁因I/O瓶颈、无跨机共享、秒级精度等缺陷不适用高并发场景。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

450

2025.12.29

java接口相关教程
java接口相关教程

本专题整合了java接口相关内容,阅读专题下面的文章了解更多详细内容。

9

2026.01.19

磁盘配额是什么
磁盘配额是什么

磁盘配额是计算机中指定磁盘的储存限制,就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间。php中文网为大家提供各种磁盘配额相关的内容,教程,供大家免费下载安装。

1349

2023.06.21

如何安装LINUX
如何安装LINUX

本站专题提供如何安装LINUX的相关教程文章,还有相关的下载、课程,大家可以免费体验。

703

2023.06.29

linux find
linux find

find是linux命令,它将档案系统内符合 expression 的档案列出来。可以指要档案的名称、类别、时间、大小、权限等不同资讯的组合,只有完全相符的才会被列出来。find根据下列规则判断 path 和 expression,在命令列上第一个 - ( ) , ! 之前的部分为 path,之后的是 expression。还有指DOS 命令 find,Excel 函数 find等。本站专题提供linux find相关教程文章,还有相关

294

2023.06.30

linux修改文件名
linux修改文件名

本专题为大家提供linux修改文件名相关的文章,这些文章可以帮助用户快速轻松地完成文件名的修改工作,大家可以免费体验。

776

2023.07.05

PS使用蒙版相关教程
PS使用蒙版相关教程

本专题整合了ps使用蒙版相关教程,阅读专题下面的文章了解更多详细内容。

23

2026.01.19

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PostgreSQL 教程
PostgreSQL 教程

共48课时 | 7.4万人学习

Git 教程
Git 教程

共21课时 | 2.8万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号