Bash
1 前言
一个问题,一篇文章,一出故事。
某些场景,我们使用简单的命令去停止或者启动服务,会遇到出错的情况,于是我们需要带自动检测功能的函数去执行服务的启动或停止。
2 最佳实践
2.1 创建脚本
vim ~/scripts/serviceControl.sh
加入如下设置,
#!/bin/bash
stopService() {
local serviceName=$1
if systemctl is-active --quiet "$serviceName"; then
echo "Stopping $serviceName..."
systemctl stop "$serviceName"
while systemctl is-active --quiet "$serviceName"; do
sleep 1
done
echo "$serviceName has been stopped."
else
echo "$serviceName is not running."
fi
}
startService() {
local serviceName=$1
if ! systemctl is-active --quiet "$serviceName"; then
echo "Starting $serviceName..."
systemctl start "$serviceName"
while ! systemctl is-active --quiet "$serviceName"; do
sleep 1
done
echo "$serviceName has been started."
else
echo "$serviceName is already running."
fi
}
stopService "openvpn"
startService "openvpn"
2.2 测试脚本
bash ~/scripts/serviceControl.sh
没有评论