ubuntu用root账户启动服务指定脚本

ubuntu用root账户启动服务指定脚本

ubuntu默认使用非root账号登录,如果要实现root账户开机自启动指定脚本,可以采用service的方式实现。

1、创建服务文件

sudo vim /etc/systemd/system/your-service-name.service

内容为:

[Unit]
Description=你的服务描述
After=network.target   # 确保在网络服务启动后启动,可按需调整[Service]
Type=simple            # 服务的类型,常用的是 simple 或 forking
User=root              # 关键:指定以 root 用户运行
Group=root             # 关键:指定以 root 用户组运行
ExecStart=/path/to/your/command.sh  # 你的程序或脚本的绝对路径
Restart=on-failure     # 可选:服务意外退出时自动重启
RestartSec=3           # 可选:重启前等待秒数[Install]
WantedBy=multi-user.target # 表示在系统进入多用户模式时启动此服务

2、启用服务

# 1. 重新加载 systemd 配置,让系统识别新的服务文件
sudo systemctl daemon-reload# 2. 设置服务开机自启
sudo systemctl enable your-service-name.service# 3. 立即启动服务
sudo systemctl start your-service-name.service# 4. 查看服务运行状态,确认是否成功
sudo systemctl status your-service-name.service

如果服务启动失败,可以用以下方法排查。

sudo journalctl -u your-service-name.service -f