Ubuntu 设置开机自启动脚本

Linux 系统中设置自定义脚本开机自启动有如下几种方式

方案一、增加cron task

1. 打开任务文件 cron

# 执行如下命令打开当前用户的 cron,如果打开root用户的cron,执行 sudo crontab -e
crontab -e

2. 向其中加入如下需要开机自启的脚本

#  @reboot 后为用户自定义的启动脚本的完整路径,替换成自己的脚本路径
@reboot </path/to/myscript.sh>

【注意】

  • 在此需要加入自定义脚本的完整路径,不能为相对路径。
  • 该脚本需要有可执行权限。
  • 如果需要查看 cron 中的内容,使用 crontab -l 查看当前普通用户;sudo crontab -l:查看root 用户。
  • 自定义脚本中的内容需要注意,如果写入文件要使用完整的路径,而不是相对路径。

方案二、通过 systemd 管理自启动服务

现代Linux默认使用 systemd 作为初始化系统,该方式来设置开机启动项也是最推荐的方式

1、创建并启动对应服务

1) 创建 systemd 服务文件

/etc/systemd/system目录下创建 myTest.service 文件,文件名需要为 xxxx.service

sudo vim /etc/systemd/system/myTest.service
2) 在对应的 .service 文件中写入如下内容
[Unit]
Description=My self restart execute test file

[Service]
ExecStart=/home/codex/x03/test02.sh
Restart=always
User=root
Type=simple

[Install]
WantedBy=multi-user.target

【注意】

  • Service 中的 ExecStart 的值需要为完整的路径。
  • 该文件的注释为前面加#
3) 执行如下命令
# 重新加载 systemd 配置的命令,确保任何更改都能被识别
sudo systemctl daemon-reload

# 将该服务设置为系统启动时自动启动
sudo systemctl enable myTest.service

2、关闭对应的服务

1)、 查询对应服务的状态:

sudo systemctl status myTest.service

2)、如果服务正在运行则将其停止

sudo systemctl stop myTest.service

3)、禁用该服务

sudo systemctl disable myTest.service

4)、删除对应的服务文件 xxx.service

sudo rm -rf /etc/systemd/system/myTest.service

5)、重新加载systemd 配置文件,使修改生效

sudo systemctl daemon-reload
posted @   Jeffxue  阅读(1850)  评论(0编辑  收藏  举报
(评论功能已被禁用)
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示