使用此命令判断相关服务是否运行
PROGRAM=$(ps -ef | grep -w program | grep -v grep | wc -l)
if [ "${PROGRAM}" -le 0 ];then
echo "Program is not running, Starting it"
sudo program \
--daemon \
--cd /etc/program \
--config client.program \
--auth-user-pass /etc/program/passwd \
--log-append /var/log/program.log
sleep 2
fi
/etc//passwd中写入用户名和密码,etc/program/client.program写入配置。
配置文件模板:
client
dev tun
comp-lzo
proto tcp
remote 123.123.123.123 3394
resolv-retry infinite
nobind
persist-key
persist-tun
auth-user-pass
route-delay 4
reneg-sec 10800
cipher AES-256-CBC
auth SHA1
verb 5
<ca>
-----BEGIN CERTIFICATE-----
-----END CERTIFICATE-----
</ca>
<cert>
-----BEGIN CERTIFICATE-----
.....
-----END CERTIFICATE-----
</cert>
<key>
-----BEGIN PRIVATE KEY-----
-----END PRIVATE KEY-----
</key>
本文介绍了一个用于检查特定程序是否运行的shell脚本,并在程序未运行时自动启动它。脚本使用ps命令查找进程,通过grep精确匹配程序名,避免误操作,并利用wc计数确保程序实例唯一。若未检测到程序运行,则使用sudo权限启动程序,设置工作目录、配置文件路径、认证信息、日志记录等。
646

被折叠的 条评论
为什么被折叠?



