我希望无头服务器(运行 Ubuntu Server 19.10)即使在重启后也能持续监听 iperf3 请求。目前,我可以使用 -c 和 -d 标志在终端上运行它,这会将其作为守护进程运行(我认为只是在后台运行)。
sudo iperf3 -s -D
但我希望它在启动时始终以这种模式启动,所以它始终在后台监听。
我以前做过这种事情,涉及到 systemd,我对此不太熟悉。当我阅读 iperf3 程序时,我认为没有提到 systemd,那么它是否与它兼容(或者该语句本身毫无意义?)
之前只是在教程中按照说明以非常有限的方式使用过 systemd,因此不太了解其范围。
答案1
由于 Ubuntu 似乎没有为 iperf3d 提供 systemd 服务,因此我们必须自己编写。
看https://gist.github.com/auipga/64be019018ef311deba2211ced316f5e,我也会在这里引用它。
[Unit]
Description=iperf3 server
After=syslog.target network.target auditd.service
[Service]
ExecStart=/usr/bin/iperf3 -s
[Install]
WantedBy=multi-user.target
把这个文件放进去/etc/systemd/system/iperf3.service
然后sudo systemctl enable iperf3
。
答案2
对于像我这样的懒人来说,这里有一个比上面列出的更简单的版本。你只需要复制/粘贴到终端,服务器就会启动。
apt-get -y install gdebi iperf3
cat <<- EOF > /etc/systemd/system/iperf3.service
[Unit]
Description=iperf3 server
After=syslog.target network.target auditd.service
[Service]
ExecStart=/usr/bin/iperf3 -s
[Install]
WantedBy=multi-user.target
EOF
sudo systemctl enable iperf3
service iperf3 start