首页 Linux学习

1. 方案介绍

利用 systemctl 在系统开机时,自动运行指定脚本,完成添加软路由任务。

2. 准备文件

总共需要准备两个文件,分别为 add_routes.service、add_routes.sh。

2.1. add_routes.service

仅作为参考

[Unit]
Description=Add Routes
After=network.target

[Service]
Type=simple
User=root
ExecStart=/bin/bash /your_path/add_routes.sh

[Install]
WantedBy=multi-user.target

2.2. add_routes.sh

仅作为参考

# 下面的网段仅是简单的示例,以你自己的为准
route add -net 192.168.2.0/24 gw 192.168.1.1
route add -net 192.168.3.0/24 gw 192.168.1.1

3. 创建开机自启项

接下来,切换到 root 用户,此时再创建 service 则可以以 root 用户进行创建,程序可直接获得 root 权限。

sudo cp add_routes.service /etc/systemd/system/
sudo systemctl enable add_routes.service  # 设置开机自启

4. 检测程序能否正确执行

接下来检测程序运行有无错误

sudo systemctl start add_routes
sudo systemctl status add_routes

注意:当 add_routes.service 文件已经存在于 /etc/systemd/system/ 中时,对 add_routes.service 进行修改之后,应该利用下面的命令重新加载配置文件,然后重新启动相关服务。

# 重新加载配置文件
sudo systemctl daemon-reload
# 重启相关服务
sudo systemctl restart foobar

参考链接: Systemd 入门教程:实战篇



文章评论

目录