没有rc.local怎么设置开机自启
时间: 2024-02-29 19:52:36 浏览: 112
如果你的 Linux 系统没有 rc.local 文件,则需要根据不同的发行版进行配置。以下是一些常见的 Linux 发行版的开机自启动设置方法:
1. Ubuntu 16.04 及之前版本:
Ubuntu 16.04 及之前版本使用 upstart 管理系统服务,可以通过以下步骤进行开机自启动设置:
- 在 /etc/init 目录下创建一个新的 .conf 文件,例如:
```
sudo nano /etc/init/myscript.conf
```
- 在该文件中添加以下内容:
```
description "My script service"
start on startup
task
exec /usr/bin/python3 /home/user/myscript.py
```
其中,`description`是服务的描述,`start on startup`表示在系统启动时自动启动,`exec`是需要执行的命令或脚本。
- 保存文件并退出编辑器。
- 重启系统,使修改生效。
2. Ubuntu 18.04 及之后版本:
Ubuntu 18.04 及之后版本使用 systemd 管理系统服务,可以通过以下步骤进行开机自启动设置:
- 在 /etc/systemd/system 目录下创建一个新的 .service 文件,例如:
```
sudo nano /etc/systemd/system/myscript.service
```
- 在该文件中添加以下内容:
```
[Unit]
Description=My script service
After=network.target
[Service]
ExecStart=/usr/bin/python3 /home/user/myscript.py
WorkingDirectory=/home/user/
Restart=always
User=root
[Install]
WantedBy=multi-user.target
```
其中,`Description`是服务的描述,`ExecStart`是需要执行的命令或脚本,`WorkingDirectory`是命令或脚本所在的目录,`User`是执行命令或脚本的用户。
- 保存文件并退出编辑器。
- 启用该服务并设置为开机自启动:
```
sudo systemctl daemon-reload
sudo systemctl enable myscript.service
```
- 重启系统,使修改生效。
3. CentOS 7 及之后版本:
CentOS 7 及之后版本使用 systemctl 管理系统服务,可以通过以下步骤进行开机自启动设置:
- 在 /etc/systemd/system 目录下创建一个新的 .service 文件,例如:
```
sudo nano /etc/systemd/system/myscript.service
```
- 在该文件中添加以下内容:
```
[Unit]
Description=My script service
After=network.target
[Service]
ExecStart=/usr/bin/python3 /home/user/myscript.py
WorkingDirectory=/home/user/
Restart=always
User=root
[Install]
WantedBy=multi-user.target
```
其中,`Description`是服务的描述,`ExecStart`是需要执行的命令或脚本,`WorkingDirectory`是命令或脚本所在的目录,`User`是执行命令或脚本的用户。
- 保存文件并退出编辑器。
- 启用该服务并设置为开机自启动:
```
sudo systemctl daemon-reload
sudo systemctl enable myscript.service
```
- 重启系统,使修改生效。
以上是一些常见的 Linux 发行版的开机自启动设置方法,如果还有问题,请告诉我。
阅读全文