自己在看官方教程的时候因为是个小白所以有些东西不理解,就各种查想办法,现在把 Ubuntu 系统配置开机启动的方式分享给大家,大佬勿喷,给同样跟我一样非技术类的爱好者看。
在 Ubuntu 系统中配置开机启动的脚本与 CentOS 有所不同,主要因为 Ubuntu 使用 systemd 作为其初始化系统,而 CentOS 7 及以上版本也使用 systemd,但传统上 CentOS 可能使用 init。以下是如何在 Ubuntu 上配置开机启动脚本的步骤:
步骤 1: 创建一个自定义的 systemd 服务
-
创建服务文件:
打开一个文本编辑器,创建一个新的 systemd 服务文件。例如,您可以创建一个名为mingdao.service
的文件。您可以使用nano
或任何您喜欢的文本编辑器:sudo nano /etc/systemd/system/mingdao.service
-
编写服务配置:
在编辑器中,添加以下内容来定义您的服务:
注意:👀️ /bin/bash ***/opt/mingdao/service.sh startall 这个路径改成自己的[Unit] Description=Start Mingdao services at boot time After=network.target [Service] Type=oneshot ExecStart=/bin/sleep 30 ExecStart=/usr/bin/docker system prune -f ExecStart=/bin/bash /opt/mingdao/service.sh startall RemainAfterExit=yes [Install] WantedBy=multi-user.target
这里的配置定义了一个服务,它在网络服务可用后启动,执行三个命令:先等待 30 秒,清理 Docker 系统,然后运行一个脚本启动所有服务。
-
保存并关闭文件。
步骤 2: 启用和启动服务
-
重新加载 systemd 管理器配置,以确保 systemd 识别新的服务文件:
sudo systemctl daemon-reload
-
启用服务,使其在系统启动时自动启动:
sudo systemctl enable mingdao.service
-
如果您希望立即测试服务,可以手动启动它:
sudo systemctl start mingdao.service
步骤 3: 检查服务状态
您可以检查服务的状态,确保一切按预期工作:
sudo systemctl status mingdao.service
这将显示服务的当前状态,包括是否正在运行,以及最近的日志条目。
使用这种方法,您可以将任何启动脚本添加为 systemd 服务,在 Ubuntu 系统上实现开机自启动。这比在 /etc/rc.local
中直接写命令更加现代和灵活,也更容易管理和调试。