Linux下监控某个进程

编辑: 2018-02-12 701 次围观
0

应用场景:经常发生某个进程宕机,例如Rsync服务

                image.png

实验环境:CentOS7 

实验脚本:

                

1
2
3
4
5
6
7
8
#!/bin/bash
status=$(ps -aux | grep "rsync --daemon" grep -v "grep" wc -l)
if [ $status -eq 0 ];
then
systemctl restart rsyncd.service
else
exit 0;
fi

        脚本分析:

                        步骤一: ps -aux | grep "rsync" 

                                      发现有多个rsync进程,于是再次删选过滤,找出需要的进程"/usr/bin/rsync --daemon --no-detach"

                        image.png

                        步骤二:ps -aux | grep "rsync --daemon" 

                                     发现找到了需要的rsync进程,但是多个一个“grep”筛选进程,于是再次使用grep -v过滤

                                    image.png

                        步骤三: ps -aux | grep "rsync --daemon" | grep -v "grep"

                                        终于找到了需要的rsync进程,接下来就需要结合wc计数命令来做判断条件,再与流程控制语句if来编写脚本

                                    image.png

                        步骤四:ps -aux | grep "rsync --daemon" | grep -v "grep" | wc -l

                                         当rsync服务正在启动时,得到的结果是1,当rsync服务停止时,得到的结果是0

                                    image.png

                                     image.png


相关推荐

发表评论

必填

选填

选填

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。