如何将此自定义新贵工作转换为 systemd?

C4g*_*deo 7 upstart services systemd

我有一个触发一系列服务的自定义暴发户工作:

/etc/init/auto-gateway.conf

描述“自动网关”
作者“g4gvideo@gmail.com”

发出 gw-is-up
发出 gw-is-down

开始(net-device-up 或 net-device-down)

任务

脚本
如果路线| grep -q "默认"; 然后
    initctl 发出 -n gw-is-up
别的
    initctl 发出 -n gw-is-down
菲

结束脚本

这在经常断开和连接网络的笔记本电脑上,或者在它们睡眠和唤醒时非常有效。当网络发生变化时,它也适用于我的服务器。

我正在尝试将这个简单的新贵工作转换为 systemd。我的第一次尝试是:

/etc/systemd/system/auto-gateway.service

[单元]
说明=自动网关服务
After=network-online.target

[服务]
ExecStart=/usr/sbin/auto-gateway
KillMode=进程
重启=总是
类型=分叉
TimeoutStartSec=无穷大

[安装]
WantedBy=multi-user.target

/usr/sbin/auto-gateway:

#!/bin/bash

虽然是真的;做

如果路线| grep“默认”;然后
    启动一些服务(如果没有运行)
别的
    停止一些服务(如果正在运行)
菲

睡 30
完成 >/dev/null

我发现这是新贵版本的糟糕替代品。我不喜欢固定计时器,并将辅助服务硬编码到自动网关中。

systemd 有什么办法可以监控netdev 吗?

谢谢