随着分布式系统的兴起,我们管理的大大小小的服务可能会有很多个,比如有mysql、tomcat、redis、mq等等,并且可能是分布在不同的linux主机上面,如果一个一个的去启动这些服务,不但会浪费时间,而且还会做大量重复性的工作,并且这些服务有没有启动成功,我们可能还需要ps -ef | grep 命令去一个一个的检查,有没有更加快捷的办法呢,有的同学可能会想到使用市面上的服务检测工具,不过在有限硬件资源的情况下,这些服务检测工具也是需要安装和启动的,搞不好可能还需要修改源代码,有没有更加省力和快捷的办法呢?答案就是——使用shell脚本批量启动与监测这些服务,并通过一键命令就能解决这两个需求,接下来我们会通过以下案例来具体实现。
现在的需求是通过一键命令启动redis、nginx、tomcat、activeMQ服务。
首先进入linux系统,vim一个serverStart.sh文件,然后开始编写shell脚本:
#!/bin/bash#当前日期time=$(date '+%Y-%m-%d %H:%M:%S')#redis启动function redisStart(){
#redis启动的目录 redis_server_exec=/usr/local/redis/src/redis-server #redis的配置文件目录 redis_conf=/usr/local/redis/redis.conf #每个redis服务端口,每一个端口的配置