linux 下有个脚本restart.sh ,要求每次启动都执行这个脚本
时间: 2024-09-23 13:13:54 浏览: 40
在Linux系统中,如果你有一个名为`restart.sh`的脚本,想要每次系统启动时自动运行它,你可以通过修改系统的自启动配置文件来实现。这里有几个常见的步骤:
1. **检查是否已存在开机启动服务**:
首先,你需要确认`restart.sh`脚本当前不在系统默认的自启动配置文件如`/etc/rc.local`、`/etc/systemd/system/multi-user.target.wants/restart.service`或`/etc/init.d`下的任何服务列表中。
2. **创建启动链接或服务**:
- 对于Systemd (新版本的Linux):
- 如果尚未创建,可以在`/etc/systemd/system/`目录下创建一个服务文件,比如`restart.service`,然后添加内容:
```bash
[Unit]
Description=Restart Script
After=network.target
[Service]
ExecStart=/path/to/restart.sh
Restart=always
User=<your_user>
WorkingDirectory=/path/to/script_directory
[Install]
WantedBy=multi-user.target
```
- 然后运行 `sudo systemctl daemon-reload && sudo systemctl enable restart.service`
- 对于Upstart或Init (旧版本):
- 可能需要在`/etc/init`目录下创建一个`restart.conf`文件,并添加类似:
```ini
description "Restart Script"
start on runlevel [2345]
respawn
exec /path/to/restart.sh
```
- 使用 `sudo update-rc.d restart defaults` 设置开机启动。
3. **权限设置**:
确保`restart.sh`脚本有适当的执行权限,可以用`chmod +x /path/to/restart.sh`。
完成上述步骤后,重启服务器或直接执行`sudo service restart restart`(取决于你的服务管理器)即可让脚本在下次启动时自动执行。记得将`/path/to/restart.sh`替换为实际脚本路径,`<your_user>`替换为你希望作为脚本运行用户的真实用户名。
阅读全文