mirror of
https://github.com/NewFuture/DDNS.git
synced 2022-04-19 20:24:44 +00:00
update systemd install script (#216)
* add systemd install script * rename systemd script * fix * fix * fix: update readme, python script * Update systemd.sh update * Update systemd.sh Co-authored-by: New Future <NewFuture@users.noreply.github.com>
This commit is contained in:
@@ -187,8 +187,18 @@ python run.py -c /path/to/config.json
|
||||
|
||||
#### linux
|
||||
|
||||
运行 `sudo ./task.sh`
|
||||
|
||||
- 使用init.d和crontab:
|
||||
`sudo ./task.sh`
|
||||
- 使用systemd:
|
||||
```bash
|
||||
安装:
|
||||
sudo ./systemd.sh install
|
||||
卸载:
|
||||
sudo ./systemd.sh uninstall
|
||||
```
|
||||
该脚本安装的文件符合 [Filesystem Hierarchy Standard (FHS)](https://en.wikipedia.org/wiki/Filesystem_Hierarchy_Standard):
|
||||
可执行文件所在目录为 `/usr/share/DDNS`
|
||||
配置文件所在目录为 `/etc/DDNS`
|
||||
</details>
|
||||
|
||||
## FAQ
|
||||
|
||||
@@ -70,7 +70,8 @@ def get_config(key=None, default=None, path="config.json"):
|
||||
"debug": False,
|
||||
}
|
||||
dumpjson(configure, configfile, indent=2, sort_keys=True)
|
||||
sys.exit("New template configure file `%s` is generated." % path)
|
||||
sys.stdout.write("New template configure file `%s` is generated.\n" % path)
|
||||
sys.exit(1)
|
||||
except:
|
||||
sys.exit('fail to load config from file: %s' % path)
|
||||
if key:
|
||||
|
||||
Executable
+54
@@ -0,0 +1,54 @@
|
||||
# /bin/bash
|
||||
service='[Unit]
|
||||
Description=NewFuture ddns
|
||||
After=network.target
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
WorkingDirectory=/usr/share/DDNS
|
||||
ExecStart=/usr/bin/env python /usr/share/DDNS/run.py -c /etc/DDNS/config.json
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target'
|
||||
|
||||
timer='[Unit]
|
||||
Description=NewFuture ddns timer
|
||||
|
||||
[Timer]
|
||||
OnUnitActiveSec=5m
|
||||
Unit=ddns.service
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target'
|
||||
|
||||
if [[ "install" == $1 ]]; then
|
||||
echo "$service" > /usr/lib/systemd/system/ddns.service
|
||||
echo "$timer" > /usr/lib/systemd/system/ddns.timer
|
||||
cp -r `pwd` /usr/share/
|
||||
mkdir -p /etc/DDNS
|
||||
if [ ! -f "/etc/DDNS/config.json" ];then
|
||||
if [ -f "config.json" ];then
|
||||
cp config.json /etc/DDNS/config.json
|
||||
fi
|
||||
fi
|
||||
systemctl enable ddns.timer
|
||||
systemctl start ddns.timer
|
||||
echo "installed"
|
||||
echo "useful commands:"
|
||||
echo " systemctl status ddns view service status."
|
||||
echo " journalctl -u ddns.timer view the logs."
|
||||
echo "config file: /etc/DDNS/config.json"
|
||||
|
||||
elif [[ "uninstall" == $1 ]]; then
|
||||
systemctl disable ddns.timer
|
||||
rm /usr/lib/systemd/system/ddns.service
|
||||
rm /usr/lib/systemd/system/ddns.timer
|
||||
rm -rf /etc/DDNS
|
||||
rm -rf /usr/share/DDNS
|
||||
systemctl daemon-reload
|
||||
echo "uninstalled"
|
||||
else
|
||||
echo "Tips:"
|
||||
echo " $0 install install the ddns systemd service."
|
||||
echo " $0 uninstall uninstall the ddns service."
|
||||
fi
|
||||
Reference in New Issue
Block a user