获取mongodb的运行状态

use*_*500 2 shell-script services mongodb

有一个脚本,我可以根据需要启动/停止各种服务。例如 Apache、BIND、MySQL、PostFix、Memcached、Tomcat 等等。

根据脚本等的状态选项,采取各种行动。

对于大多数情况,这很好用:(以 Apache 为例)

if service apache2 status >/dev/null; then
    # ... do some action
fi
Run Code Online (Sandbox Code Playgroud)

对于其他人,必须使用其他技巧,例如mysqladmin ping.

但是,我无法找到任何检查mongodb.

service mongodb status
Run Code Online (Sandbox Code Playgroud)

它与 MySQL 和 yield具有相同的“疾病”,并且mongodb stop/waiting即使服务未启动并运行,也评估为 true。

看过mongodmongostat等等,但没有找到任何选项。

一种方法可能是使用ps或更好地netstat结合使用grep或类似的方法,但想知道是否有更好(更原生/更有针对性)的方法来检查状态。也可以 grep for stop/waiting,但不确定这有多可靠,并猜测它可能会在未来的升级中中断。

slm*_*slm 6

pgrep用于查找进程怎么样,mongod.

$ pgrep mongod
Run Code Online (Sandbox Code Playgroud)